10

Facebook ログイン システムを自分の Web サイトに実装しようとしています。

Facebook に接続しようとすると、コンソール ログから次のエラーが表示されます。

Unsafe JavaScript attempt to access frame with URL https://s-static.ak.fbcdn.net/connect/xd_proxy.php?xxxxxxxxxxxxxxxx

JavaScript SDK を使用しています

bodyこれをタグに追加しました:

<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId      : 'xxxxxxxxxxxxxx',
            status     : true, 
            cookie     : true,
            xfbml      : true
        });
    };
    (function(d){
        var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        d.getElementsByTagName('head')[0].appendChild(js);
    }(document));
    </script>

Facebook ログインボタン:

<div class="fb-login-button"  data-perms="email">Login with Facebook</div>

私はローカルホストからテストしています - Facebook 開発アプリ (サイト URL: http://localhost)にウェブサイトを登録しました。

この問題を解決するにはどうすればよいですか? または、PHP SDK を使用する必要がありますか?

編集:パブリックドメインでサーバーにアップロードしたときと同じ問題。

4

7 に答える 7

4

表示されるエラーは、致命的ではないエラーです。外部ドメインから JavaScript を読み込むことはお勧めできないとブラウザがアドバイスしているため、これに対する回避策はありません。スクリプトが実行されない場合は、このメッセージを無視して他の場所でバグを探してください。localhost からデバッグできないという Sajith も正しいです。

Chrome webkit インスペクターで継続的に生成される「安全でない JavaScript が URL でフレームにアクセスしようとしています...」エラーも参照してください 。

于 2012-01-03T03:13:45.517 に答える
2

ページの上部に次の行があることを確認してください(私にとってはうまくいきます):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml">
于 2012-10-24T09:49:08.257 に答える
1

Facebook アプリに登録した同じドメイン名のみを使用できます。

1. パブリック ドメイン名 (www.example.com) が必要です。
2. Facebook アプリに登録する必要があります。
3. Facebook から 2 つのキーを取得し、コードで使用します。
    appId      : 'xxxxxxxxxxxxxx',
于 2012-01-11T10:12:20.757 に答える
1

ドメイン localhost を使用してすべての Facebook 統合をテストすることはできません。スクリプトをパブリック アクセス ドメインに配置し、開発者アプリ設定ページで URL を更新する必要があります。JavaScript から表示されるセキュリティ エラーは、facebook スクリプトによるこの localhost アクセスによるものです。

于 2011-12-16T16:13:22.360 に答える
0

Facebook が必要とするドメインのように見えるように、localhost マシンを微調整できます。

Linux または OSX では、/etc/hosts にエントリを追加します。Windows では、c:\windows\system32\drivers\etc\hosts を編集します。次のようにエントリを追加します。

127.0.0.1 local-dev.mydomain.com local-dev

「mydomain.com」は、FB アプリ ID が登録されているドメインです。

于 2012-01-25T21:12:20.657 に答える
0

filegluを実装したときにこのエラーが発生しました。ローカルホストで実行しているため、 CORSエラーである可能性があります。Facebook で実行してみてください。下半分を以下のコードに置き換えてください。

(function() {
  var e = document.createElement('script');
  e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js#appId=<your-app-id>&xfbml=1';
  e.async = true;
  document.getElementById('fb-root').appendChild(e);
}());

また、FB.init() ページで Oauth 2.0 とカスタム チャネルを有効にしました。詳細については、http: //fbdevwiki.com/wiki/FB.initを参照してください。

于 2011-11-04T23:13:42.880 に答える