4

我遇到了嚴重的問題,讓我喜歡按鈕在IE9中工作。它在Chrome和Firefox中效果很好,但在IE9中單擊Like或發送新窗口時會打開。我搜索了這個問題,發現了一些類似的帖子,但沒有解決我的問題。我只注意到我的網站和我的開發人員環境都包含在IE受信任的站點中,因此標記爲不使用保護模式。打開保護模式後,它工作。IE9和HTML5以及XFBML like按鈕在IE保護模式下不起作用

因此,我去FB看看我是否可以在http://developers.facebook.com/bugs上報告錯誤,但可以找到無處實際發佈bug的瀏覽。所以除了張貼這些信息以告知其他開發者的發現之外 - 任何人都可以指出我發佈錯誤報告的正確方向。試圖谷歌它,但沒有。

+0

您可以發佈與按鈕鏈接到一個示例頁面,我會幫你調試。 – 2012-04-10 13:10:49

+0

http://www.enferno.se – 2012-04-11 12:40:07

回答

1

一切似乎都在我的最終工作正常。
所有我可以建議是

  1. 初始化的JavaScript SDK在異步,並把剛剛< body>標籤下面的代碼給它的時間來加載。 「它沒有失敗1次,出14次的嘗試就是爲什麼我建議。 https://developers.facebook.com/docs/reference/javascript/
  2. 使用通道的html文件,以加快加載的Internet Explorer。

這裏是用我如何使我的登錄按鈕的樣本解析XFBML和異步的JavaScript。


<div id="loginbutton"></div> 
<div id="fb-root"></div> 
<script> 
     window.fbAsyncInit = function() { 
     FB.init({ 
    appId : '135669679827333', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    xfbml : true, // parse XFBML 
    channelUrl : 'https://anotherfeed.com/emo/channel.html', // channel.html file 
    oauth : true // enable OAuth 2.0 
     }); 
function loginbutton(){ 
var loginb=document.getElementById('loginbutton'); 
loginb.innerHTML='<div class="fb-login-button" data-show-faces="false" data-width="200" data-max-rows="1" data-autologoutlink="true" data-scope="read_stream,user_likes,publish_stream,publish_actions,read_friendlists,user_photos,user_groups,user_interests,user_videos"></div>'; 
FB.XFBML.parse(loginb); 
}; 
loginbutton(); 
     }; 
    // Load the SDK Asynchronously 
(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=135669679827333"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 
</script> 
+0

沒有它的工作,因爲我面對的一樣的問題。該代碼適用於除政府辦公室的IE以外的所有瀏覽器,因爲它們已經過硬化。 – william 2013-07-26 07:14:20