3

JavaScriptを遅延ロードしようとしていますが、確実に機能させることができません。私のページは非常に速く読み込まれ、そのように維持したいので、読み込みを遅らせるためにタイムアウトを使用するつもりはありません。さらにdocument.readyState、DOMが本当に変更の準備ができていることを確認するにはどうすればよいですか?

方法I:

  1. ポーリングreadyState

  2. createElementスクリプト

  3. src = url

  4. 頭にappendElement

結果:

IE8:常に中止します

FF3:最初にロードし、1つおきに中止します

Chrome:最初に読み込まれ、1つおきに中止されます

方法II:(ヘッドタグに含まれるレイジーロード)

  1. lazyloadでロード

結果:

IE8:常に中止します

FF3:動作します

Chrome:最初に読み込まれ、1つおきに中止されます

4

2 に答える 2

2

<script>タグをタグのすぐ上に配置する</body>と、エラーを発生させることなくDOMでほとんどのことを実行できます。つまり、<script>タグの上にあるものは通常、変更の対象になります。

ただし、より堅牢なソリューションを探している場合は、主要なライブラリがDOMの準備ができているかどうかをどのように検出しているかを確認することで、ある程度の進歩が見られる場合があります。初心者向けのソリューション(jQuery):http: //github.com/jquery/ jquery / blob / master / src / core.js#L393

于 2010-08-01T15:54:11.160 に答える
1

Javascriptは、違いを乗り越えるのに役立つ適切なフレームワークがなければ、ほとんど使用できないクロスブラウザです。おそらく今日最も人気があるのは、このチュートリアルjqueryに従って、を使用できる場所です。でも非常に人気があり、addOnLoadを使用できます。などなど...そして、フレームワークを使用していない場合は、自分の生活を困難にしていることになります。自分に有利に働き、好きなJSフレームワークを選択してください!-)$(document).ready()dojo

于 2010-08-01T15:54:04.490 に答える