2011-11-06 219 views
1

我有一個JavaScript腳本。它有一個src元素。這個src是一個url,我想用javascript改變它,只是改變一下,或者動態地創建它。javascript jquery使用腳本更改腳本的src

使用javascript/jquery動態創建腳本元素的最佳方式是什麼?

我:

<script type="text/javascript" src="http://www.google.com"></script> 

我想改變上面使用JavaScript/jQuery的不同的URL鏈接。

+0

不要更改src,只需添加一個新腳本。 – zzzzBov

回答

4

一種純JavaScript腳本注入方式(位於標籤的底部)。

document.body.appendChild(document.createElement('script')).src='http://myjs.com/js.js'; 
+0

確認工作,謝謝! – David19801

+0

如果我有另一個依賴於'http://myjs.com/js.js'的js文件呢?如何避免未定義? – candlejack

0

我建議使用這樣的事情:

var head = document.getElementsByTagName('head')[0]; 
var newScript = document.createElement('script'); 
newScript.src = 'http://path.to/script.js'; 
newScript.type = 'text/javascript'; 
head.parentNode.appendChild(newScript); 
2

你標記的jQuery所以真的就這麼簡單使用getScript

$.getScript(src, function() { 
    console.log('script is loaded'); 
}); 
3

一個jQuery的解決方案,動態注入的JavaScript文件

$('<script>').attr({ 
    src: 'www.google.com', 
    type: 'text/javascript'}).appendTo('body') 

這將創建一個新的腳本標記,其源指向www.google.com並將其附加到body標記。

+1

這就是'.attr()'... =) –

+0

你錯過了')'。應該是'$('