2015-04-02 134 views
1

我是新的facebook開發人員,我創建了一個頁面選項卡,其中包含使用facebook php sdk登錄(適用於所有瀏覽器),並且像使用Facebook的按鈕+提要對話框javascript sdk(適用於所有瀏覽器 - Chrome,FF,safari-除IE外)。Facebook社交插件不能在互聯網瀏覽器

經過4小時的研究和測試,我創建了一個簡單的頁面test.html,其中顯示了一個類似按鈕。當我在facebook之外直接打開它時,它可以在除IE之外的所有瀏覽器上運行。 IE控制檯在此頁面測試中不顯示錯誤消息。

我使用IE 11,但是當我模擬IE11時,問題仍然存在。 注1:在代碼中,我調用window.fbAsyncInit並且IE不顯示警報。 注2:域是在HTTPS

頁test.html中的全部代碼:

<!DOCTYPE html> 
<html> 
<head lang="fr" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

</head> 

<body> 
<a href="test.html">test</a><br /> <!-- just shortcut to reload --> 
<div id="fb-root"></div> 
<script language="javascript" type="application/javascript"> 
    window.fbAsyncInit = function() { 
     alert(1);  // IE only doesn't shwo this alert 
     FB.init({ 
      appId  : 'XXXXXXXXXX', // my api ID 
      xfbml  : true, 
      version : 'v2.2', 
      cookie  : true 
     }); 
     }; 

     (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/fr_FR/sdk.js"; 
    //js.src = "//connect.facebook.net/fr_FR/debug.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 
<div class="fb-like" data-href="https://www.facebook.com/naintrepides" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div> 

</body> 
</html> 

回答

0

有網上討論,IE瀏覽器不支持「應用程序/ JavaScript的」的MIME類型值。我希望在這個時代,尤其是在你使用的最近版本的IE中。

嘗試將其更改爲:

<script language="javascript" type="text/javascript"> 

代替。

+0

哦,我的天,它的工作原理!非常感謝羅馬 – Helbaal 2015-04-03 06:54:20

+0

你非常歡迎Helbaal :) – 2015-04-03 07:20:27

+0

不適合我 – 2017-04-27 06:46:46