JavaScriptダイナミック挿入scriptの基本的な考え方と実現関数

1404 ワード

日常の先端開発において、時々Javascriptコードを動的に挿入する必要があります.
1、動的にscriptタグを作成し、src属性、type属性などを設定する.
2、scriptノードをページに挿入し、jsファイルをロードする
つまり、ページに追加したのに相当しますが、このプロセスはダイナミックに行われます.このためにわざわざ関数をカプセル化して実現しました.

 
  
// script
function createScript(url, callback){
var oScript = document.createElement('script');
oScript.type = 'text/javascript';
oScript.async = true;
oScript.src = url;
/*
** script onload onreadystatechange
** IE6/7/8 onreadystatechange
** IE9/10 onreadystatechange onload
** Firefox/Chrome/Opera onload
*/

// IE8
var isIE = !-[1,];
if(isIE){
alert('IE')
oScript.onreadystatechange = function(){
if(this.readyState == 'loaded' || this.readyState == 'complete'){
callback();
}
}
} else {
// IE9 ,Firefox,Chrome,Opera
oScript.onload = function(){
callback();
}
}
document.body.appendChild(oScript);
}

使い方は以下の通りです.

 
  
createScript('xxx.js', function(){
console.log('OK');
});
<div class=「clearfix」>
<span id=「artbaot」class=「jbTestPos」/>