1

I'm using the fbAsyncInit method for an iframe application that lives in a fan page tab

<script>
  window.fbAsyncInit = function() {
      console.log('fb init');
    FB.init({
      appId  : 12345,
      status : true, // check login status
      cookie : true, // enable cookies to allow the server to access the session
      xfbml  : true  // parse XFBML
    });
  };

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

そして、登録機能を呼び出してアクセス許可を確認すると (これは、ページが読み込まれた後にユーザーがボタンをクリックしたときに発生します)

register = function(){
console.log('starting login');
FB.login(function(response) {
    if (response.session) {
            console.log(response.session);
        } else {                
            console.log('Did not authorize');
        }
}, {perms:'email,publish_stream'});

};

Facebook は次の場所からポップアップを読み込みます: http://static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb= {セッション文字列変数とその他の迷惑メールはこちら}

IE でのみフラッシュ エラーが発生します。

Error #2044: Unhandled StatusEvent:. level=error, code=

私のサイトにはフラッシュがありません

続行/非表示を押すと、IEがフリーズしてプロセスが終了することがあり、ポップアップが消える場合もあります

4

3 に答える 3

1

Flash の問題の解決策が見つかりました。更新してくださいFB.init:

FB.init({
      appId  : 12345,
      status : true, // check login status
      cookie : true, // enable cookies to allow the server to access the session
      xfbml  : true,  // parse XFBML
      channelURL : 'http://www.YOURDOMAIN.com/channel.html'
    });

ドメイン ルート フォルダーchannel.htmlで、次のコードのみを作成して配置します。

<script src="https://connect.facebook.net/en_US/all.js"></script>

Facebook の Flash が正しく動作するようになりました。

于 2011-06-16T08:30:16.017 に答える
0

Flash 10.2+ で Flash/FaceBook API を使用すると、次のエラーが発生します。SecurityError: エラー #2000: アクティブなセキュリティ コンテキストがありません。

Flash 10.3 でエラー #2044: Unhandled StatusEvent: が発生します。レベル=エラー、コード=

Flash アプリケーションから Facebook.login() を呼び出しています。ログインは成功しましたが、このエラーによりプロセスが中断されたようです。この問題は IE 8 にのみ影響し、他のブラウザーには影響しません。channelUrl を試しましたが、フラッシュ ファイルが提供されている場所にアクセスできないため、別のドメインにまたがっています。Charles を使用してローカルにマップしています。これは機能しますか?

それ以外では、私は迷っています。エラーが自分の SWF によって引き起こされているのか、Facebook のプロキシ SWF によって引き起こされているのかわかりません。とてもイライラします。これは数か月前に機能していました。

于 2011-06-20T20:34:13.797 に答える
0

上記の解決策は私にはうまくいきませんでした。しかし、これは私がstackoverflowの別のトピックで見つけたものでした(Sean Kinseyに感謝します):

このバグ レポートを参照して ください

その場合、fb-root divvisibility:hiddenまたはdisplay:noneに設定されていないことを確認してください。これにより、XD Flash がレンダリングされなくなります。

(channelURLも追加しました)

于 2011-11-16T03:40:51.877 に答える