2011-09-02 83 views
12

我使用all.js來執行facebook。我在註冊頁面上使用了Facebook按鈕。通過Facebook登錄,我將Facebook用戶的用戶名和電子郵件註冊到註冊頁面上的字段中。 它在Chrome,Safari和Firefox上運行良好,但在IE8上給出了錯誤。權限在all.js中拒絕錯誤

的錯誤是在all.js線22

{FB.UIServer._loadedNodes[a.id]=b;if(a.params)b.fbCallID=a.id; 

如果任何人知道爲什麼這個問題正在發生,請幫助我。

感謝 Udham

+0

噸類似的問題:[1](http://facebook.stackoverflow.com/questions/7343226/facebook-login-throws-permission-denied),[2](http://facebook.stackoverflow.com/questions/7346333/permission-denied-error-in-all-js),[3](http://facebook.stackoverflow.com/questions/6678376/facebook-connect-cant-login-in-using-ie-權限被拒絕),[4](http://facebook.stackoverflow.com/questions/6654892/facebook-connect-access-denied-on-line-22-all-js-in-ie7-8) - 我'已經投票關閉其他人,試圖使這個問題成爲一個典型問題。 –

+0

@apaidnerd從我可以告訴...有幾個原因爲什麼你可能會在all.js文件中得到權限被拒絕的錯誤 - 投票關閉除一個之外的所有內容就像投票關閉所有包含緩衝區溢出的C問題 - 權限被拒絕錯誤是一個症狀...不是實際的錯誤 – Jiaaro

+0

@Jiaaro - 你的比喻是不正確的。我投票的人與一個特定的Facebook bug有關。 –

回答

7

這是一個已知的bug:http://bugs.developers.facebook.net/show_bug.cgi?id=19042 它被設置爲閉固定,但很多用戶仍然報告在評論區的誤差。

黑客攻擊,建議在評論#19:

FB.init({ 
.... 
.... 
}); 
FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug 

它的工作對某些人。我必須說它不適合我,但我認爲值得一提。

+0

沒有爲我工作。還有另一個數據點。:( –

+0

@apaidnerd這個黑客適用於某些人而不是其他人的事實表明,爲什麼會出現這種錯誤有不同的根本原因......你不覺得嗎? – Jiaaro

+0

更新:錯誤19042在Facebook上更新了Bug Tracker to * *仍然沒有固定**,所以他們意識到並希望對此有所幫助 – imbrizi

10

試試看。它對我有用,可能對某個人有幫助。

FB.UIServer.setLoadedNode = function (a, b){FB.UIServer._loadedNodes[a.id] = b; } 

理想情況下附加調試器,看看哪個方法分解和破解它。

+0

這應該被標記爲答案 - 它適用於我和其他一羣人 – Andrey

1

我剛碰到這個(或類似的問題)。我在all.js第22行,字符3160,在document.documentElement.style.display='none';之後,這是一個許可被拒絕的錯誤。

在我的情況下,這是因爲channelUrl使用了不同的協議(https),而我的應用程序的iframe正在根據(http)加載。我試過//mydomain.com/channel.html,但那給了我一個不同的錯誤。我通過在生成html時動態選擇http/https for channelUrl來解決此問題。

1

我找到了解決方案。已經發布的答案在這裏https://stackoverflow.com/a/8504794/287604,但絕望的快速修復:

FB.init({ 
    appId:  'xxxxx', 
    appSecret: 'xxxxxxxxx', 
    status:  true 
    cookie:  true 
}); 

// this code solves the issue 
FB.UIServer.setLoadedNode = function (a, b) { 
FB.UIServer._loadedNodes[a.id] = b; 
}; 
1

我仍然爲此而努力,但如果使用FB時,一個奇怪的解決辦法我只注意到的是:設置節目時登錄按鈕表面屬性爲「真」它突然工作正常。我嘗試了2個並排fb:登錄按鈕,顯示面設置爲false或不包含的按鈕每次都會傳回錯誤。