Javascript 按任意名称加载动态脚本

Javascript 按任意名称加载动态脚本,javascript,load,Javascript,Load,我想通过在浏览器中使用哈希字符串动态加载脚本: 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()}); 但上面的代码返回:

我想通过在浏览器中使用哈希字符串动态加载脚本:

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
如何解决这个问题? 谢谢

附言

My man.js文件:

var man = {
    init : function(){      
       //do stuff   
    }
}
在加载脚本后执行回调函数:

function() {query.init()}

我不确定您在什么环境下操作,但这应该可以做到:

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函数。

请检查我的更新答案。我知道如何加载文件,但我不知道如何执行它。谢谢@user889349 Stick man.init;在文件末尾,它将在加载后立即执行。或者,您可以在回调函数中调用man.init。我无法使用我尝试使用的man.init:dunamically query.init