javascript - 头部动态添加JS

标签 javascript browser

当我们在head中动态插入JS spript时,会触发解阻塞(或与其他资源并行)下载JS文件。下载 JS 后,浏览器在解析和执行脚本时是否阻塞,或者解析和执行也是异步的?

var headID = document.getElementsByTagName("head")[0];         
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
headID.appendChild(newScript);

最佳答案

以下顺序发生:

1.) 脚本加载
2.) 脚本被解释(阻塞 javascript 线程)
3.) 脚本加载/完成事件触发。

JavaScript 是单线程的,因此解释和执行会阻塞其他脚本。它还会阻止 DOM 渲染。动态添加脚本的唯一优势是防止脚本加载也阻塞 DOM 渲染。

关于javascript - 头部动态添加JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3726127/

相关文章:

javascript - 在 AngularJS 和 Bootstrap 的搜索框中生成结果

javascript - 在 ajax 成功回调中运行一个函数

javascript - "if (<name of a function>)"是什么意思?

html - html5中如何控制列中的内容

javascript - 从javascript为不同的域设置cookie

javascript - 在本地运行SLS函数以进行单元测试,结果是 Node Mysql连接池“连接过多”

javascript - 检查 javascript 与 Internet Explorer 的兼容性

css - 如何在Chrome/FireFox浏览器中使用PDF打开参数(如fitH)?

java - Swing - 启动浏览器并在用户关闭时收听

javascript - jQuery 悬停效果在某些计算机上的 Google Chrome 中不起作用