2017-03-02 5 views
0
  • 私はJavaScriptを初めて使っています。

私はドキュメントが読み込まれるのを待つ最善の方法を見つけようとしています。私がやろうとしています何ドキュメントの読み込みをどのように待つ必要がありますか?

:ページロードがtrueの場合

  1. は完全に負荷(スクリプト、イメージなど)
  2. チェックするページのURL
  3. 待機を開きます。

私の理解から、私はこのようなものだろう:私はFirefoxのコンソールでこれを行うと

  • window.location = "https://somewebsite.com" 
    
    function isLoaded() { 
        while (document.readyState != "complete") { 
        } 
        return true; 
    } 
    
    isLoaded() 
    

    問題を。ドキュメントがページを開こうとする前に、私は信じています。現在のページが画面に表示されなくなった後、コンソールから実行しようとすると "ビジースクリプト"という警告が表示されます。

  • 多分私はそれを間違ってやっているかもしれません。多分もっと良いテスト方法があるかもしれませんが、わかりません。
  • リトル背景。 Firefox用のアドオンを作成しようとしていますので、スクリプトはページ上で実行され、ページには含まれません。それが助けば。

答えて

0

の3つのオプション:

  1. スクリプトは、本体の最後のタグがある場合は、スクリプトタグは、DOMの準備ができたら、「readyStateのは」に変わります
  2. を実行する前に、DOMは準備ができているだろう」完了 "
  3. " DOMContentLoaded "イベントリスナの下にすべてを置きます。

onreadystatechangeに

document.onreadystatechange = function() { 
    if (document.readyState == "complete") { 
    // document is ready. Do your stuff here 
    } 
} 

DOMContentLoaded

document.addEventListener('DOMContentLoaded', function() { 
    console.log('document is ready. I can sleep now'); 
}); 
+0

私の心の中での切断のいくつかの種類があるようです。 window.locationでページをロードしてからdocument.addEventListener( 'DOMContentLoaded'、function(){ console.log( 'ドキュメントは準備完了です)'; })を実行すると、私は未定義になる。ブラウザに遅延や待ちを指示する必要があるのですか?このコードをテストするにはより良い方法がありますか? – TYPKRFT

関連する問題