javascript - 内联加载 JavaScript

标签 javascript

在以下情况下,我试图在另一个 JavaScript 文件中加载一些 JavaScript 文件:

js/script1.js

var script_1_method = function () {
   console.log("Hello Script 1");
}

js/初始化脚本.js

console.log("Initiating Scripts...");
loadScriptMethod('js/script1.js');
script_1_method();
console.log("Hello Script 2");

index.html

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
      <meta charset="UTF-8">
      <title></title>
      <script type="text/javascript" src="js/init-script.js"></script>
    </head>
    <body>

    </body>
    </html>

控制台输出应该是

Initiating Scripts...
Hello Script 1
Hello Script 2

我研究过许多 JavaScript 加载器,如 curl.js、RequireJS、JSL,几乎所有加载器都采用异步方式加载需要回调的文件,以适应我的场景。

是否有一个库可以像上述情况一样以同步方式加载脚本而不需要回调。

如果有适合上述情况的 JavaScript 加载程序库,请告诉我。

最佳答案

可以使用同步 XHR 加载同源脚本:

var scr = getViaSynchronousXHR('js/script1.js'),
    el  = document.createElement("script");

el.appendChild(document.createTextNode(scr));
document.documentElement.firstChild.appendChild(el);
script_1_method();

没有源的脚本元素被同步解析和执行,因为不需要等待从缓存中下载/获取文件。

关于javascript - 内联加载 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064662/

相关文章:

javascript - 了解 3d 变换检测代码 modenizer

javascript - 如何避免重复返回错误行

javascript - Angular 4,如何修复 "simple deployment"中 html 文件的 404 错误?

javascript - 在 AngularJS 中过滤没有 HTML 标签的文本

javascript - 意外字符 '$' jQuery

javascript - 密码不允许nodejs + mongodb

javascript - Chart.js v2 - 组合堆叠条形图和 2 个非堆叠线

javascript - 具有特殊字符的正则表达式

javascript - 在 HTML5 中堆叠多个 Canvas

javascript - 如何重定向到新页面?