2014-06-17 32 views
0

這裏是我的簡單的HTML:的Facebook SDK使用Javascript失敗,不知道爲什麼

fb_driver.html

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> 
    <meta content="utf-8" http-equiv="encoding"> 
    <title>Facebook Driver</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    <link rel="stylesheet" type="text/css" href="fb_driver.css"> 
    </head> 
    <body> 
    <script> 
     window.fbAsyncInit = function() { 
     alert("why can i not see this?"); 
     FB.init({ 
      appId: 'my-app-id', 
      xfbml: true, 
      version: 'v2.0' 
     }); 
     FB.ui({ 
      method: 'feed', 
      name: 'The Facebook SDK for Javascript' 
     }); 
     alert("hi"); 
     }; 

     (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/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
     } (document, 'script', 'facebook-jssdk')); 
     alert("hello"); 
    </script> 
    <div id="fb-something" class="fb-like" data-send="true" data-width="450" data-show-faces="true"> 
    </div> 
    </body> 
</html> 

它基本上是直接從https://developers.facebook.com/docs/javascript/quickstart/v2.0複製。腳本結尾處的「hello」警報顯示,但「爲什麼我看不到?」和「嗨」不(它們在window.fbAsyncInit = function(){...})內。 「爲什麼我不能看到這個?」實際上是fbAsyncInit塊內的第一件事,但仍然無法顯示。有人可以幫我解釋爲什麼這不起作用嗎?

我可以想到的一件事是,即使上面的鏈接說什麼都不需要導入或下載,只需要正常的JavaScript,也許在我以前的指令中有些東西我錯過了。

+0

我的應用程序ID被我的應用程序儀表板中的應用程序ID取代 – tscizzle

回答

-1

結果是'connect.facebook.net/en_US/sdk.js'之前的'//'對於在本地打開html文件來說並不好(這正是我爲了玩遊戲而做的馬上)。我添加了'http:',所以它的內容是'http://connect.facebook.net/en_US/sdk.js',這讓我得到了一個不同的錯誤,這是進步。

+0

這是**臨時**解決方案不指定協議!假設您將切換到SSL並使用「https」,這將導致安全問題,SDK將不會加載,[混合內容](https://developer.mozilla.org/en-US/docs/Security/MixedContent ) –

相關問題