1

I'm experiencing an issue (which I still need to fix) where my entire page does not load. It gets cut off in the middle of an element.

Is there a way using jquery or javscript to do something like:

if (some element has not loaded yet) {refresh the page}

I was thinking of just putting <div id="end_of_page"></div> at the bottom of the page, and checking if that was rendered, if not, i'll know something went wrong and can reload to try again.

thanks!!

4

3 に答える 3

1

使用できます

$(document).ready(function(){
    // code here
});

そのコードは、ページが読み込まれたときにのみ実行されます。便利な速記は次のとおりです。

$(function(){
   // code here
});

jQueryオブジェクトが。であると仮定します$。要件を完了するには、load関数内に変数を設定し、ページの先頭に設定されているタイマーを使用してそれを確認します。そこにない場合は、リロードします。

個人的には、ページが途中までしか表示されない理由を理解するために時間を費やす必要があると思います(FirebugまたはChrome Inspectorがこれを支援する場合があります。これは、ページ内のリソースがハングを引き起こしている可能性があります。ほとんどのHTTP以降リクエストはホスト名ごとに一度に2つだけ行われ、残りをフェッチする前にそれが戻るのを待っている可能性があります)。

于 2012-07-08T21:18:17.577 に答える
1

サーバー側の問題か、スクリプトまたはライブラリが魚を盗んでいる可能性があります別名 $:「ドル」)。

問題を修正しようとしてページを更新するのではなく、コードをデバッグすることをお勧めします。

スクリプトがheadドキュメント内に
あり、jQuery + jQ 関数</body>が終了タグの直前にあることを確認してください:

(function($){ /*your functions*/ })(jQuery);
于 2012-07-08T21:23:40.820 に答える
1

jqueryまたはjavscriptを使用して次のようなことを行う方法はありますか:

if (いくつかの要素がまだロードされていません) {ページを更新してください}

はい、できます。jQueryを含めた後、これを頭に入れます:

<script>
jQuery(function($) {
    if (!$("#end_of_page")[0]) {
        // Something went wrong, load again
        location.reload();
    }
});
</script>

end_of_pagejQuery イベントが発生した時点で要素が存在しない場合ready(つまり、ページの読み込みが完了したとき)、ループの本体に入ります (したがって、強制的にリロードされます)。

ただし、ページが途中で途切れる理由を突き止めて解決する方が断然良いです。この種の回避策は解決策ではありません。

于 2012-07-08T21:26:10.757 に答える