我有scripts.js
个文件。
如果我想在此文件中插入外部resoruce(如来自youtube的swfobject.js
库),我该怎么办?
喜欢:
<script type="text/javascript" src="swfobject.js"></script>
有可能吗?也许用jQuery的代码更少...
答案 0 :(得分:2)
您可以使用jQuery的getscript api
$。getScript('swfobject.js',function(data,textStatus){ })
答案 1 :(得分:1)
答案 2 :(得分:1)
以下是简单动态加载程序的示例代码,它以串行方式加载多个脚本:
https://github.com/miohtama/Krusovice/blob/master/src/krootstrap.js
如果您使用的是相对URL,请首先检测当前脚本文件(加载程序)的基本URL。这需要一些魔力,因为Javascript不知道它自己的位置。如果您拥有该文件的完整HTTP URL,则可以进行此测试
使用DOM操作注入新标记
完成脚本加载过程并在完成后调用回调函数(请注意,在加载之前不能调用JS中的任何函数,因此需要等待此回调)
答案 3 :(得分:1)
你能做的最简单就是这样:
function importScript(path) {
var el = document.createElement('script');
el.type = 'text/javascript';
el.src = path;
var parent = document.getElementsByTagName('head')[0];
if(!parent) parent = document.body;
parent.appendChild(el);
}
实际上,如果您确定磁头始终存在,如果您决定始终将脚本附加到文档正文,那么它可能会更简单。
答案 4 :(得分:0)
有许多方法可以动态加载脚本,但我认为你想要的东西就像这样简单:
function importScript(path) {
document.write('<script type="text/javascript" src="' + path + '"></scr' + 'ipt>');
}
importScript('/scripts/jquery-1.6.2.min.js');