Javascript 如何调试IE Facebook JS错误?

Javascript 如何调试IE Facebook JS错误?,javascript,internet-explorer,facebook-javascript-sdk,Javascript,Internet Explorer,Facebook Javascript Sdk,所以,我们有一个Facebook应用程序,它最终会调用 在Firefox和Chrome中,一切似乎都正常工作。在IE8(带/不带兼容性视图)中,我得到了一个Javascript错误(all.js中的语法错误,第17行,字符864) 以下是供参考的特定代码: if(typeof ca==='function')return ca.apply(x,aa); (当我在IE中启用调试并使用内部调试器时,我看到了这一点。我想知道就IE而言,'==='是否应该是'==',但也许它们都是正确的表达式。) 所

所以,我们有一个Facebook应用程序,它最终会调用

在Firefox和Chrome中,一切似乎都正常工作。在IE8(带/不带兼容性视图)中,我得到了一个Javascript错误(all.js中的语法错误,第17行,字符864)

以下是供参考的特定代码:

if(typeof ca==='function')return ca.apply(x,aa);
(当我在IE中启用调试并使用内部调试器时,我看到了这一点。我想知道就IE而言,'==='是否应该是'==',但也许它们都是正确的表达式。)

所以,我不知道Javascript,但我希望能够调试到足以知道这是Facebook的问题还是我们的问题。(也欢迎提供常规IE Facebook JS调试提示。)


我应该提到,为了让Firefox/Chrome代码正常工作,我必须添加调用FB.init的代码,所以我可能没有做IE需要的事情。我真的不了解,我甚至不确定要包含哪些其他信息。

这个==是一个比较运算符,有可能进行类型转换

=是一个比较运算符,它的功能不需要任何转换(要么是,要么不是,没有可能)


这部分代码看起来不错。我能推荐的最好的方法是在IE中使用开发人员工具进行故障排除,并查看脚本选项卡。确保“Break on Error”已打开,并跟随调用堆栈返回。

事实证明,IE中存在竞争条件,在FB.init()调用之前调用了all.js中的Javascript。我们将最终调用all.js的Javascript包装到自己的函数中,然后在FB.init()调用之后显式调用该函数,从而解决了这个问题。