我想通过浏览器中的哈希字符串动态加载脚本:
var query = this.param.query;
// This is a hash string. Example: http://domain.com/#!man
files.run("jsfolder/"+query+".js", function() {query.init()});
// or files.run("jsfolder/man.js", function() {man.init()});
但上面的代码返回:
Uncaught TypeError: undefined is not a function 1.js:98
(anonymous function)
(anonymous function)
script.onload
如何解决这个问题? 感谢。
P.S
我的man.js文件:
var man = {
init : function(){
//do stuff
}
}
回调函数(在脚本加载后执行):
function() {query.init()}
答案 0 :(得分:0)
我不确定你在做什么环境,但这应该可以解决问题:
var header = document.getElementsByTagName("head")[0],
script = document.createElement("script"),
query = this.param.query;
script.type = "text/javascript";
script.src = "jsfolder/" + query + ".js";
header.appendChild(script);
基本上,您创建一个脚本元素并将其附加到头部。这将加载并执行指定文件中的任何JavaScript。
据我所知,没有files.run
功能。