web-dev-qa-db-ja.com

Facebookのサンプルコードを使用した「リソースのロードに失敗しました」

Facebook JS SDKのドキュメントから最初の例を実行しようとしています。新しいアプリを作成し、「facebookTest.html」という空のドキュメントを作成し、例のコードに貼り付け、新しいアプリのアプリIDをプラグインしました。次のコード:

<html>
<head>
<title>Login with facebook</title>
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'my app ID', // App ID from the App Dashboard
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    // Additional initialization code such as adding Event Listeners goes here

  };

  // Load the SDK's source Asynchronously
  // Note that the debug version is being actively developed and might 
  // contain some type checks that are overly strict. 
  // Please report such bugs using the bugs tool.
  (function(d, debug){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = document.location.protocol+"//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
     ref.parentNode.insertBefore(js, ref);
   }(document, /*debug*/ false));
</script>

ページをロードすると、Javascriptコンソールで次のエラーメッセージが表示されます。

Failed to load resource

私は何を間違えていますか?

編集:document.location.protocolの前に"//connect.facebook.net/..."を追加すると、提案された here のように、画面が空白のままになり、コンソールに次のように表示されます。

GET file://connect.facebook.net/en_US/all.js  

このコードはすべて行うべきですか?それともまだ失敗していますか?

25
sigil

ここにはいくつか間違ったことがありました:

  1. 変更するにはjs.src割り当て先:js.src="https://connect.facebook.net/en_US/all.js";

  2. FacebookはローカルファイルからのJS SDK呼び出しをサポートしなくなりました。スクリプトはhttp://またはhttps:// URI、 Facebookのこのバグレポート 。ファイルをWebサーバーにアップロードし、それに応じてキャンバスURLを変更し、再テストする必要があります。

40
sigil

アドブロックを無効にするだけで、私にとってはうまくいきます

18
yawa yawa

まず、httpsまたはhttpsをjs.src urlに追加する必要があります

次に、サーバーでhtmlファイルをホストする必要があります。

6
user3059993

URLに「広告」、「広告」、「ダブルクリック」、「クリック」などの単語が含まれている場合...

例:

  • GET googleads.g.doubleclick.net/pagead/id
  • static.doubleclick.net/instream/ad_status.js

…その後、広告ブロッカーがブロックします。

参照: 「net :: ERR_BLOCKED_BY_CLIENT」エラーの取得AJAX呼び出し

0

Facebook開発者にアクセスして、ウェブサイトドメインを追加し、IDを取得して以下に貼り付けます。

 appId : 'my app ID', // App ID from the App Dashboard
0
Developerajay