在窗口加载时动态加载Javascript函数

时间:2012-11-15 19:34:24

标签: javascript

通过设置数组和加载器函数,是否可以在加载窗口时动态地从单独的Javascript文件加载函数?

2 个答案:

答案 0 :(得分:1)

最简单的方法是简单地将<script>元素动态添加到DOM中。

<script>
var scripts = [ 'a.js', 'b.js', ... ];
for (var i = 0; i < scripts.length; ++i) {
  document.write('<script src="' + scripts[i] + '"></' + 'script>');
}
</script>

请注意,您只能在触发DOMContentReady事件之前执行此操作。

BTW事件Google Closure Library使用此技术。作为旁注,您可能希望将脚本连接到单个文件中,以便节省您自己(和您的用户)的HTTP请求并加快页面加载速度。

关于这一点很酷的是,在结束</script>标记之后立即下载和评估脚本,这样您就不必等待其他任何事情才能使用它们:

<!-- Let's pretend that a.js defines a function A() -->
<script>document.write('<script src="a.js"></' + 'script>');</script>
<script>
var a = new A();
</script>

答案 1 :(得分:0)

实际上我也可以将其作为答案,而不仅仅是评论,require.js具有您正在寻找的功能,特别是查看this文档页面以查看它在浏览器中的使用情况