0

私は、Facebookユーザーから検証を取得して、作成しているアプリの基本情報にアクセスできるように取り組んでいます。PHPSDKとJavascriptSDKを使用しています。Javascriptはログイン画面を呼び出し、PHPはデータを取得してMySQLテーブルに保存し、アプリで使用します。

それはあなたが物事に投票できるアプリであり、私はそれを設定しているので、ユーザーがアプリで検証されていない場合、「投票」ボタンはFacebookのログインボタンになります。ログインするまでは、すべてがうまく機能します。(通常どおりポップアップログインダイアログで)正常にログインしますが、変更を反映するために親ウィンドウを正常に更新できません。基本的に、ユーザー情報を取得する唯一の方法は、ユーザーがログインしてから手動でアプリを更新することです。次に、すべてのデータを正しく送信します。location.reload(true);親ウィンドウのリダイレクトを試しましたが、どれも機能しないようです。

以下は私のJavascriptです:

<div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : 'APP_ID', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
      });

      FB.Event.subscribe('auth.login', function(resp) {
        parent.window.location = 'MY_APP_URL';
    });
    };

    // Load the SDK Asynchronously
    (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>

親ウィンドウをハードリフレッシュするためのより効果的な方法はありますか?ありがとう!

4

1 に答える 1

0

location.reload が機能しない場合は、試すことができます

window.location.href = window.location.href;

それは最もエレガントなソリューションではありませんが、機能します

于 2012-11-30T16:01:28.127 に答える