1

Facebook Javascript API を使用し、Facebook ページのタブとしてインストールされる非常に単純な Web ページがあります。ページが読み込まれると、通常の Facebook 初期化コードを呼び出した後に行うことはauth.authResponseChange、ユーザーがログインしているかどうかに応じてさまざまな要素をリッスンして表示/非表示にすることだけです。

通常のブラウザ セッションで http または https を介してこのページを読み込むと、すべて問題ありません。ページの読み込みはかなり高速です。

しかし、Facebook でページ タブを読み込むと、約 2 分間ハングします。Chrome から、この待機はページの「待機」によるものであると表示されます。しかし、アクセス ログを見ると、ページが表示される直前までアクセス リクエストがログに記録されていません。つまり、Facebook は舞台裏で実際に起こっていることを隠しているようです。

ここに画像の説明を入力

4

1 に答える 1

0

Facebook でチケットをオープンしたところ、この問題は私のコードが原因であり、signed_response を含む POST で再現可能であるとの回答がありました。

頭を悩ませて実験した結果、このページを処理するビューに次の 2 行を追加すると、問題が解決することがわかりました。

if 'signed_request' in request.POST:
    pass

したがって、Django 1.3.1 は、実際に POST 値を読み取るまで HTTP セッションを開いたままにしていることは明らかです。ああ。

于 2013-05-17T03:11:28.783 に答える