2012-06-21 45 views
0

所以,我们有一个Facebook应用程序,最终调用https://connect.facebook.net/en_US/all.js如何调试IE的Facebook JS错误?

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

这里是一个特定的代码供参考:

if(typeof ca==='function')return ca.apply(x,aa); 

(我看到这个的时候我在IE中启用调试和使用内部调试器我想知道如果“===”应该是“==”就IE而言,但也许它们都是正确的表达式。)

所以,我不知道Javascript,但我想能够调试这足以知道这是否是Facebook问题或如果这是我们的问题。 (一般IE的Facebook的JS调试技巧也欢迎。)

我应该提到,我不得不添加代码来调用FB.init为了Firefox/Chrome代码的工作,所以也许我没有做的事情IE要求。我真的没有深度,而且我甚至不确定要包含哪些附加信息。

+0

事实证明,在IE调用FB.init()之前调用了来自all.js的Javascript的竞争条件。我们通过将最终调用all.js的Javascript包装到它自己的函数中,然后在FB.init()调用后显式地调用该函数来解决它。 –

回答

0

==是一个比较运算符,具有类型转换的潜力。

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

这部分代码看起来不错。我可以推荐的最好的事情是使用IE中的开发工具进行故障排除,并观察脚本标签。确保“打开错误”已打开,然后按照调用堆栈。