2011-11-06 203 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

你错过了')'。应该是'$('