2011-11-07 47 views
1

我一直試圖解決這個問題約4小時(搜索谷歌和stackoverflow和祈禱雨神,沒有工作),所以我真的希望有人在這裏有幫助。FB.Event.subscribe Internet Explorer上的無限循環

我正在開發一個應用程序,用戶可以上傳照片,對它們進行投票並發表評論。到目前爲止,它在所有瀏覽器中都能正常工作,除了Internet Explorer,應用程序陷入無限循環,在同一個「步驟」中重新加載標籤。

我使用包含在SDK(最新的SDK)的示例代碼:

<fb:login-button scope="email,user_location"><img src="button image here">/fb:login-button> 

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'APP ID GOES HERE', 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 

    FB.Event.subscribe('auth.login', function(response) { 
     window.location.reload(); 
    }); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

如示例代碼包含在SDK中,我使用PHP來檢查用戶是否已經授予應用獲取權限。該應用程序文件被稱爲fotoapp.php,如果用戶已授予權限,則被重定向到fotoapp.php?s = 2(s = 1是包含登錄按鈕的位置),如果爲false,則重定向到fotoapp.php ?S = 1。 's'變量僅用於文件包含目的。

我使用fbjs的唯一方法是訂閱登錄重新加載的事件。

有沒有人有想法解決這個問題?

非常感謝!

回答

3

我終於解決了。前段時間我在Internet Explorer中遇到了一些問題,在尋找解決方案後,在stackoverflow中發現了一個問題,解決了我的問題。我在我的應用程序中粘貼了「以防萬一」的代碼...並努力工作! hahaha

要添加的代碼是這樣的: header('P3P:CP =「IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'');

這裏的答案: PHP cookies problem, works in Firefox not in other browser

感謝您閱讀:P

+0

幹得好!驅使我堅果... – handsomeGun

0

我有,我認爲,一個類似的問題:Eternal reloading page with Internet Explorer

到底在哪你複製/粘貼header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');代碼行你的腳本?

謝謝!

+0

這是一個PHP代碼,你應該將其粘貼爲腳本的第一行(或任何html輸出之前) – Chuy

+0

謝謝,但它不能解決我的問題。雖然我確信這個問題還是相同的。 – thomaus