我想知道如何从函数中将外部Javascript加载到我的文档中。
答案 0 :(得分:15)
这是一种方式:
function loadDaFun() {
var script = document.createElement('script');
script.src = '/path/to/your/script.js';
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);
}
答案 1 :(得分:12)
@seth的答案完全正确,但你不需要在DOM上留下插入的script
元素,你可以在加载后立即将其删除,也可以想知道何时插入的脚本可以使用,例如你可以:
function loadScript(url, completeCallback) {
var script = document.createElement('script'), done = false,
head = document.getElementsByTagName("head")[0];
script.src = url;
script.onload = script.onreadystatechange = function(){
if ( !done && (!this.readyState ||
this.readyState == "loaded" || this.readyState == "complete") ) {
done = true;
completeCallback();
// IE memory leak
script.onload = script.onreadystatechange = null;
head.removeChild( script );
}
};
head.appendChild(script);
}
用法:
loadScript("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js",
function () { alert('jQuery has been loaded.'); });
答案 2 :(得分:-3)
使用AJAX获取它,然后使用eval()代码。