在以下文档中,
<!doctype html>
<html>
<head>
<script language="javascript" src="example.js"></script>
</head>
<body>
</body>
</html>
哪里example.js
是:
document.addEventListener('DOMContentLoaded', function () {
console.log('hello');
});
是否保证执行日志语句?
是的,请参见MDN::脚本元素
在浏览器继续解析页面之前,将立即获取并执行没有异步或延迟属性的脚本以及内联脚本。
直到结束,文档都不会被完全解析;当遇到script
标签时,它将停止解析,并等待脚本下载(如有必要)并运行,然后再继续。
但是,这非常糟糕-您不想延迟页面的解析和渲染。最好给您的script标签一个defer
(或async
)属性-这样,它将在解析完成后自动运行而不会阻塞,并且不需要您将整个脚本包装在DOMContentLoaded侦听器中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句