此外,何时加载代码,设置 .src
属性或附加元素。举例说明:
var test = document.createElement('script');
test.src = 'some_path';
// is code loaded here?
document.head.appendChild(test);
// or here?
...
// or is it an asynch operation?
最佳答案
动态创建脚本元素时,在元素插入文档之前不会加载或执行源文件。脚本的加载是异步的。这意味着您的代码执行以下操作:
- 创建脚本元素
- 分配源属性
- 将元素放入文档
- 开始异步加载源文件
- 加载后,执行脚本
编辑:感谢您指出设置async 属性对脚本的加载行为没有任何影响。我从未真正使用过它并认为它会起作用,但它显然不起作用。我删除了声称会的部分。 I made an example to show this .
关于javascript - 动态javascript是否同步添加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249632/