3

Jquery モバイルを使用した Facebook ログインに Facebook JS SDK を使用しています。最初のページの読み込みでは、すべてが正常に機能します。ボタンが表示され、ログイン ステータスを取得できます。(ajax 経由で) 別のページにリンクすると、ボタンが読み込まれず、何も機能しません。SDK が読み込まれておらず、window.fbAsyncInit が起動していないようです。

これは、すべてがjqueryモバイルページでロードされる方法と関係があると思いますが、すべてを試しました. fb-root をさまざまな場所に配置し、init スクリプトをヘッダー、本文、およびページ内に配置しますが、同じ結果が得られます。

何かご意見は?

4

1 に答える 1

1

私が取り組んでいるモバイルアプリで同様の問題に遭遇しました。正確な問題は特定できていませんが、ajax では発生しないいくつかの読み込みイベントに関係しています。この問題を解決する最も簡単な方法は、ログイン ページが ajax 経由で読み込まれないようにすることでした。data-ajax属性を使用します。

 <a href="/login.htm" data-ajax="false">Login</a>

ただし、理想的には、ログイン ページの読み込みイベントで、使用されるメソッドを判別できるようにします。このようなものかもしれません:

 $(document).on('pageinit','#login_page', function(){
      // if (page-load-event happened through ajax)
      location.reload(true);
 });

基本的には、ページを更新するだけです。関数の引数として true を使用すると、キャッシュされたものを使用せず、サーバーから再びプルすることが保証されます。

于 2012-07-13T04:25:49.123 に答える