Firefox + 一些 javascript = 带有永不完成加载的无尽旋转轮的选项卡(Chrome 没问题!)。为什么?

Ahu*_*Lee 2 javascript firefox

function clickMe() {
            document.write("You clicked on the Button!"); 
} 
Run Code Online (Sandbox Code Playgroud)
<html>
    <body>
        <script src="script.js"></script>
        <input type="button" value="Button" onclick="clickMe()" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

按下此处的按钮会导致 Firefox 选项卡加载轮永远旋转。这是为什么?

代码中是否有任何错误,或者这是 Firefox 的一些问题?

非常感谢!

ade*_*neo 5

从文档

写入已加载的文档而不调用 document.open()将自动执行document.open调用。

一旦你写完,建议调用document.close(),告诉浏览器完成页面加载。

因此,每当您调用document.write已完成加载的文档时,就像您使用事件处理程序所做的那样,整个文档都会被覆盖并document.open自动调用,但由于文档从未完成加载并调用document.close,因此加载轮会一直旋转。

显然,不同的浏览器做不同的事情,并且没有特别指定它们是否应该永远“挂起”。

由于document.write通常无论如何都不应该使用,这真的不是问题,只需用修改 DOM 的适当方法替换它,而不是覆盖整个文档。