3

私は自分のfbログインボタンをそのように作成しました

<fb:login-button perms="email" size="small" onlogin="check_login_session()">Sign Up Using Facebook</fb:login-button>

ページの他の場所にある .click リンクで使用しているため、 check_login_session 関数も既に定義しています (これは機能します)。ただし、私の問題は、既に FB にログインしているときにボタンをクリックすると、FB ポップアップが表示されてから消えて何もしないことです。onlogin は呼び出されず、エラーも表示されません。

ただし、ログアウトしてからボタンをクリックすると、fbログインプロンプトが表示され、入力して送信すると、想定どおりに動作します。問題が発生するのは、既にログインしていて、FB ログイン ボタンをクリックしたときだけです。何か案は?

編集: onlogin に alert("Test") を入れると言うと、それが呼び出されることがわかりましたが、ページで定義して呼び出しようとした関数は、定義されていないと言って返されます。

4

5 に答える 5

2

新しい facebook ログイン フローは、ユーザーが現在 facebook にログインしていない場合にのみ facebook ログイン ボタンを表示するように指示します。とにかく表示すると、ユーザーがすでに facebook にログインしていることを検出してログイン プロセスを終了し、ログイン後のフックが呼び出されないため、クリックしても何も起こりません。Facebook のドキュメントには、まずユーザーが既に Facebook にログインしているかどうかを検出し、ログインしている場合は Facebook の uid を取得し、ログイン後のフックの一部として呼び出した関数を実行するように書かれています。Facebook のログイン ボタンは、Facebook にログインするためのボタンであり、サイトにログインするためのボタンではありません。

于 2011-05-25T23:15:43.630 に答える
1

イベントは onlogin と表示されるため、Facebook Connect 経由でログインした場合にのみ実行されます。

Facebook Connect にすでにログインしている場合は、すでにログインしているため、関数は実行されません...?

于 2010-11-04T20:41:17.020 に答える
0

ほとんどの場合、呼び出しようとしている関数は、アクセスできるはずだと思っていても、そのページではアクセスできません。関数名の後の () を削除したことを確認してください。「アラート」は機能しますが、関数はそれを証明していません。関数をグローバルにし、スクリプトが読み込まれるようにすることで、スクリプトから関数にアクセスできるようにします。

于 2014-09-25T06:27:50.900 に答える