通常のロード処理では、JSの負荷がローディングプロセス中に、ブラウザは、次のブロックされたコンテンツをロードする、すなわち、同期されます。我々は、動的背後にJSファイルをロードするためにこのようなものを使用した場合、我々は動的ロードを使用する必要があります。この時間は、動的ロードは、非同期であり、次のことを実行し、そのファイルが終了した後にロードを確保する必要があります。
JSがロードされたかどうかを判断する方法は?((URL、コールバック)非同期スクリプトの読み込み、コールバック関数が完了し、IEをサポートするために必要なloadScriptを実現)
コールバック){ // ローディングがonLoadイベントトリガの実行防止前しかし、本実施形態は、ロードされるのvar ; _DOC = document.getElementsByTagName(「頭」)[0] // 取得ヘッド素子オブジェクトヘッダラベル。VAR =のdocument.createElementスクリプト(「スクリプト」); // スクリプトタグ要素を作成します。 script.setAttribute( 'タイプ'、 'テキスト/ JavaScriptは'); // スクリプトタグのtype属性を設定します。= script.type 'テキスト/ JavaScriptを' // script.async = '非同期'; script.setAttribute( 'SRC'、URL); // script.src = URL; script.setAttribute( '非同期'、 '真の' ) ; _doc.appendChild(スクリプト); // ヘッドに取り付けられたスクリプトタグ・ラベル、またはブラウザのみ完了することができるが、以下のIE11で決定されます。 = = script.onreadystatechangeのscript.onloadの関数(){ IF(!この .readyState || この== .readyState 'ロードされた' || この .readyState == '完了' ){ にconsole.log( 'JSのonload' ); } script.onload = script.onreadystatechange = nullは ; // イベントハンドラを削除します。 } } // のonloadイベントが発生し、目詰まりの問題を解決するため、すぐに非同期ロードのJSを開始しますが、onloadイベントは、非同期読み込みを開始したときだけではありません。 IF (window.attachEvent) window.attachEvent( 'のonload'、関数(){loadScript( 'ocrad.js'、NULL );}); 他 window.addEventListener( '負荷'、関数(){loadScript(」ocrad。 JSNULL);}、偽)。</スクリプト> </ BODY> </ HTML>