jQuery $.getJSON
/$.ajax call
が単純な JavaScriptwindow.location = 'http://new.com/'
イベントによって中断されるという奇妙な状況が発生しています。
火災イベント
window.location = 'http://example.com/something-that-takes-a-couple-seconds';
- 上記の URL が接続されている間、ただしブラウザが実際に何かを再描画する前に、
$.getJSON
呼び出しを行います。私の場合、たまたまページの一番下までスクロールすると、これがトリガーされます (さらに結果が読み込まれます)。 - 実際に に移動する
http://example.com/something-that-takes-a-couple-seconds
代わりに、JSON URL に接続してhttp://example.com/ajax/getJSONList.php?params=...
、プレーン テキストの JSON 結果セットを確認します。
以前にこの問題を抱えている人はいますか?
単純な解決策は、変更を開始した直後に必要な手段ですべての JavaScript の実行をブロックすることだと思いwindow.location
ますか?
編集: ここでコードの動作を確認できます: http://myscubadives.com/ , しかし、それを通り抜けるのは特に楽しいものではありません.
再現するには: まず、右上にある Facebook ログイン ボタンを使用します。Facebook にサインインし、自分のサイトへのアクセスを許可します。Facebook ビットが接続されると、次の行が実行されます: location.replace('/user/facebook'); - location.replace()、location.href、window.location を試しました。すべて同じ問題。
ここで、「/user/facebook」が接続している間に、ページの一番下まですばやくスクロールします。これにより、getJSON 呼び出しが開始されます。「/user/facebook」を押す代わりに、RAW JSON が表示されます。
誰もこの方法で私を助けることができない場合は、できるだけ早く他のすべてのものを取り除いたサンプルページを作成しようとします.