<body>
<p>How many times could you do this?</p>
<script>
alert('Hello World');
</script>
</body>
我很感激您的解释,为什么警报首先出现警报,而<p>
的内容仅在警报消息上单击“确定”后才显示。
答案 0 :(得分:1)
一般来说,这不是 true 。我假设你在Chrome中试过这个。你尝试过使用Firefox吗? IE浏览器?在张贴之前?
在FF浏览器中,它仍然呈现DOM并在后台下载脚本,因此它仍然在后台显示内容。我也在IE10中试过它,它也用FF做同样的事情。但是底线是某些浏览器在结构中遇到<script>
标记时执行并下载JS。
为了防止在渲染DOM之前执行脚本,您应该用以下内容包装脚本:
$(document).ready(function(){
alert('Hello World');
});
您还可以阅读here
但我不确定你问题的重点是什么。
答案 1 :(得分:0)
在浏览器继续解析页面之前,会立即获取并执行没有异步或延迟属性的脚本
defer设置为向浏览器指示在解析文档后要执行脚本。
希望这有助于你