chrome中的执行顺序

时间:2018-03-10 00:48:44

标签: javascript google-chrome firefox

对于简单的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打开它。

enter image description here

点击警告中的ok

enter image description here

执行顺序为:welcome1,welcome2,welcome3。

2.用铬打开它。

enter image description here

点击警告中的ok

enter image description here

执行顺序为:welcome2,welcome1,welcome3。

为什么chrome以这种方式解析简单的html和js代码? 如何使chrome的行为与firefox的行为相同?

1 个答案:

答案 0 :(得分:0)

当遇到警报时,所有浏览器都会停止执行,但Firefox不会停止渲染警报。这主要是由于标准ECMA的模糊性,他编写ECMAscript标准(构建Javascript时)没有提到window.alert(),因为它特定于Javascript,这意味着浏览器可以自由地实现它,但是喜欢,而且他们这样做。

您可以在页面加载后使用<body onload="window.alert('Hello World')">defer属性强制弹出窗口。