Javascript 从对象引用requestanimationframe时出错

Javascript 从对象引用requestanimationframe时出错,javascript,requestanimationframe,Javascript,Requestanimationframe,我试图在firefox中调用mozRequestAnimationFrame,但一直出现错误。这是我的密码: var obj={ animFrame:mozRequestAnimationFrame } var animF=mozRequestAnimationFrame; function a(){ console.log('a called'); } animF(a); obj.animFrame(a); 错误发生在obj.animFrame(a)中我收到以下错误消

我试图在firefox中调用mozRequestAnimationFrame,但一直出现错误。这是我的密码:

var obj={
    animFrame:mozRequestAnimationFrame
}

var animF=mozRequestAnimationFrame;

function a(){
 console.log('a called');   
}

animF(a);

obj.animFrame(a);
错误发生在
obj.animFrame(a)中我收到以下错误消息:

对WrappedNative原型对象的非法操作

我发现这条线是这样的: 然后发现requestanimationframe可能没有正确的“this”上下文,所以我尝试了

obj.animFrame(a).bind(window);

但仍然收到相同的错误消息。那么为什么会发生错误?

我不知道为什么需要将指向
requestAnimationFrame
mozRequestAnimationFrame
)的指针保存到某个对象中,但请尝试下一个代码以避免错误:

var obj={
    animFrame:mozRequestAnimationFrame.bind(window)
}

function a(){
 console.log('a called');   
}

obj.animFrame(a);

可能的重复我不认为我的问题是一样的,因为引用mozRequestAnimationFrame到一个变量很好,我也不会改变它的函数。谢谢,这似乎是可行的。我正在保存对它的引用,以备将来他们更改它并删除供应商前缀时使用。e、 g.
如果(!requestAnimationFrame){obj.animFrame=mozRequestAnimationFrame}或者{obj.animFrame=requestAnimationFrame}
最好将下一个代码添加到js文件中:
如果(!window.requestAnimationFrame)window.requestAnimationFrame=window.mozRequestAnimationFrame | | window.webkitRequestAnimationFrame | | | window.msRequestAnimationFrame | | window.oRequestAnimationFrame | | |函数(回调){window window.setTimeout(回调,1000/60)}