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

标签 javascript

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

最佳答案

最简单的方法是简单地添加 <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>

关于javascript - 在窗口加载时动态加载 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404801/

相关文章:

javascript - 使用javascript检测是否带有ie11的触摸设备

javascript - 复制到剪贴板,无需 swf。仅使用 javascript 和 jquery

javascript - 如何创建 API 或指向我的 SVG 的链接以便其他网站可以显示它?

javascript - jQuery:当使用 on .scroll 事件和警报时,firefox 似乎无限循环

javascript - 什么更有效,一次加载所有 javascript 或按页面需要加载它?

javascript - 如何在 JavaScript 中单行多次查找工作正则表达式模式?

javascript - 外部 API 未处理 CORS 预检请求

如果数据包含某些 URL,Javascript 无法解析 JSON

javascript - 在与 ng-repeat 相同的标签上使用 ng-click 并使用来自 ng-repeat 范围的参数

javascript - 如何使用 jquery 将 html 元素和属性转换为其他内容