3

これはChrome/Safari / Firefoxなどでうまく機能します。しかし、IE7では機能しません。何か案は?

クロスドメインチャネルを設定していますが、それは他の場所でも機能しているようです。

次のような権限ダイアログを表示します。

o.method = 'permissions.request';
o.perms = 'email';
o.display = 'dialog';

FB.ui(o, function(res) {
   // do something
});

IEでは、これはポップアップとして表示されますが、アクセス許可を付与した後、ポップアップは閉じず、クロスドメインチャネルのURLにリダイレクトされます。

ダイアログを自動的に閉じる方法はありますか?

2番目の問題は、ダイアログを手動で閉じると、コールバックが呼び出されますが、許可された権限がないことです。最初のポイントに関連している可能性がありますが、よくわかりません。

ありがとう!

4

1 に答える 1

1

permissions.request非推奨のメソッドである疑いがあります。ユーザーに権限を要求する正しい方法は、FB.login()メソッドです。

例えば:

FB.login(function(response) {
  if (response.authResponse) {
   // logged in
  } else {
    // user cancelled login or did not fully authorize
  }
}, {scope: 'email'});
于 2011-12-20T06:56:56.883 に答える