2012-06-21 60 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中的開發工具進行故障排除,並觀察腳本標籤。確保「打開錯誤」已打開,然後按照調用堆棧。