sLaks が述べたように、script タグの src 属性を変更しても効果はありません。代わりに、最初のスクリプト ファイルにコード全体を保存することをお勧めします。以下のようなモジュール パターンがあることを確認してください。
var yourModule = (function(){
function yourModule(){
...
}
//your helper functions here
function somehelper(){
....
}
yourModule.prototype.someFun1 = function(){ .. };
yourModule.prototype.someFun2 = function(){ .. };
return yourModule;
}());
例として、このパターンを取り上げました。利点は、スクリプトを変更するだけでは機能しないため、スクリプト全体を無効にする場合です。
var xyz= new yourModule();
// start using xyz
// When you do not want yourModule anymore
yourModule = function(){ return false; } or null;
その機能をクリアします。
次に、以下のコードを使用してスクリプトを再度ロードします
var handleRequest = function( ) { //!! set up the handleRequest callback
if(this.status != undefined) {
/* do something with the status code here */
}
if(this.readyState == 4) {
var script = document.createElement("script") ;
script.setAttribute("type","text/javascript") ;
var text = document.createTextNode(this.responseText) ;
script.appendChild(text) ;
var head = document.getElementsByTagName("head")[0] ;
head.insertBefore(script,head.firstChild) ;
}
} ;
var request ; //!! supposing you have a way to get a working XHR Object
//.. set the XHR Object
request.open("GET",url,true) ;
request.overrideMimeType("text/javascript") ;
request.onreadystatechange = handleRequest ;
request.send(null) ;
スクリプトの読み込みは、さまざまな専門家によるさまざまな質問で何度も回答されています。AJAX を介して読み込みたい場合の解決策を次に示します (動的にスクリプトを作成する: readyState は決して "完了" しません) 。