对于简单的html和js代码段,操作与firefox和chrome不同。
简单的html和js代码段。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<head>
<title>test welcome</title>
<script>
document.write("welcome1")
alert("welcome2")
</script>
<body>
<h3>welcome3</h3>
</body>
</head>
</body>
</html>
1.用firefox打开它。
点击警告中的ok
。
执行顺序为:welcome1,welcome2,welcome3。
2.用铬打开它。
点击警告中的ok
。
执行顺序为:welcome2,welcome1,welcome3。
为什么chrome以这种方式解析简单的html和js代码? 如何使chrome的行为与firefox的行为相同?
答案 0 :(得分:0)
当遇到警报时,所有浏览器都会停止执行,但Firefox不会停止渲染警报。这主要是由于标准ECMA的模糊性,他编写ECMAscript标准(构建Javascript时)没有提到window.alert()
,因为它特定于Javascript,这意味着浏览器可以自由地实现它,但是喜欢,而且他们这样做。
您可以在页面加载后使用<body onload="window.alert('Hello World')">
或defer
属性强制弹出窗口。