通过"document.write"方式,引入js和直接<script type="text/javascript" >引入有什么区别
在主页面引入了webcontrol.js,然后webcontrol.js中的内容是通过"document.write"方式,引入别的js。为什么要使用"document....
在主页面引入了webcontrol.js,然后webcontrol.js中的内容是通过"document.write"方式,引入别的js。为什么要使用"document.write"方式
展开
2个回答
展开全部
传统的浏览器,对于静态资源加载,会阻塞 HTML 解析器的线程进行,无论内联还是外链。document.write() 打破浏览器的预解析和预加载,因为document.write()加载的JS文件无法让HTML预解析器发现,所以在响应速度上,会有所提高!
追问
就是说,使用document.write()本质上与直接引入外部js,是速度上快一些吗?
追答
虽然可以这么理解,但是
当脚本中存在以 document.write 的方式向页面内写入内容时,各浏览器对于执行各个线程的顺序可能不一致
此现象造成在各浏览器里,某些需要延后执行的代码被立即执行,导致程序出错。
如果外部引用的 JS 文件内程序,要求在执行顺序上一致,请避免使用 document.write 语句引入的 JS 程序文件中再次使用他来加载外部 JS 文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询