2012-02-15 29 views
1

我在使Facebook登錄在IE中正常工作時遇到問題。問題是間歇性的。通常,當它調用FB.login時,彈出窗口會出現,但會停留在空白頁面XD代理上,並且永遠不會運行回調。有時候,回調會運行,但窗口不會關閉 - 我認爲這可能是我重新啓動機器後第一次嘗試它(關閉並打開瀏覽器不具有相同的效果)。IE FB.login回調未運行,XD代理窗口保持打開狀態

您可以在www.runescape.com/上看到此問題,但www.waroflegends.com/上的代碼相同,但登錄似乎正常工作。

我已經搜索了很多關於XD Proxy主題的討論,但沒有一個解決方案似乎適用於我。我曾嘗試添加自定義頻道網址,並確保fb div是身體的第一個孩子,但無效。

回答

0

我一直在IE9中遇到同樣的問題,它似乎源於升級到Flash Player 10.因爲找到覆蓋它的open bug at Facebook,所以試圖修復它已經失去了希望。但Henson已發佈an answer,它爲我解決了它。在我的網站主人的JavaScript中,我刪除了行

FB.UIServer.setLoadedNode = function (a, b) { 
    //HACK: http://bugs.developers.facebook.net/show_bug.cgi?id=20168 
    FB.UIServer._loadedNodes[a.id] = b; 
    }; 

現在它工作。 (注:我還沒有檢查,看看是否IE8的問題的那些行的目的是要克服回報)。如果這不是它看一看一些FB.login dialog does not close on Google Chrome

0

建議的答案FB.init後嘗試這一權利:

if($.browser.msie || $.browser.opera) { // yes, this is jQuery :) 
    FB.XD._transport = 'fragment'; 
    FB.XD.Fragment._channelUrl = yourChannelUrl; 
}