ホームページ  >  記事  >  ウェブフロントエンド  >  スクリプトがロードされているかどうかを判断する js コード_javascript スキル

スクリプトがロードされているかどうかを判断する js コード_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 18:04:481016ブラウズ
コードをコピーします コードは次のとおりです。

if(this.isIE) {
js. onreadystatechange=function (){if(js.readyState=="loaded" || js.readyState=="complete") callback();}
}else{js.onload=function(){callback(); }}
js.onerror=function(){alert('Not Found (404): ' src)}//chrome


JS はスクリプトがロード済み

「オンデマンドロード」の要件では、スクリプトがロードされたときにコールバック関数が返されると判断することがよくあります。では、スクリプトがロードされたことをどのように判断するのでしょうか。
onload を使用して、ロードされた JS オブジェクト (js.onload) を決定できます。このメソッドは、Firefox2、Firefox3、Safari3.1、および Opera9.6 ブラウザーでは十分にサポートされていますが、IE6 と IE7 ではサポートされていません。国を救う曲線 - IE6、IE7 js.onreadystatechange を使用して、各状態の変化 (通常、ロード、ロード、インタラクティブ、完了) を追跡できます。戻りステータスがロードまたは完了の場合、ロードが完了し、コールバックが行われたことを意味します。関数が返されます。
readyState 状態については追加の説明が必要です。
インタラクティブ状態では、ユーザーはインタラクションに参加できます。
Opera は実際には js.onreadystatechange をサポートしていますが、その状態は IE の状態とは大きく異なります。
具体的な実装コードは次のとおりです:
コードをコピー コードは次のとおりです:

function include_js(file ) {
var _doc = document.getElementsByTagName('head')[0];
var js = document.createElement('script'); ', 'text/javascript ');
js.setAttribute('src', file);
if (!/*@cc_on!@*/0) //IE ではない場合
//Firefox2、Firefox3、Safari3.1、Opera9.6 はサポート js.onload
js.onload = function () {
alert('Firefox2, Firefox3, Safari3.1, Opera9.6 は js.onload');
}
} else {
//IE6、IE7 は js.onreadystatechange をサポート
js.onreadystatechange = function () {
if (js. readyState == 'loaded' || js.readyState == 'complete') {
alert('IE6、IE7 は js.onreadystatechange をサポートします')
}
}
return false;
}
//実行関数
include_js('http://www.jb51.net/jquery/jquery.js');
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。