【发布时间】:2014-03-04 12:56:58
【问题描述】:
以下两种添加脚本到页面的方式在加载\执行时间上是否有区别?
<script>
document.write('<script src=someScript.js></script>');
</script>
对比这个:
<script>
var s=document.createElement('script');
s.src='someScript.js';
document.body.appendChild(s);
</script>
假设两者都添加在页面上的相同位置(在结束 body 标记之前)。
感谢任何信息!
编辑:感谢大家的cmets和答案。我实际上正在寻找有关加载时间和\或执行差异的具体信息(如果有的话?)。此外,我可以在 DOM 仍在解析时放置两者。再次感谢您对此的任何指点!
【问题讨论】:
-
使用
document.write()通常是不受欢迎的 ;-) -
document.write()可用于 DOM 加载,但appendChild()可用于事件,您可以将appendChild(s)用于 javascript 事件,例如click、load。 -
firefox 不允许执行 document.write 作为不安全操作