2
<head>
    <script type="text/javascript">

        document.onreadystatechange = WaitForComplete;

        function WaitForComplete () {
            console.log ("The state of the document: " + document.readyState);
        }

        function OnLoad () {
            console.log ("The document has been loaded.");
        }
    </script>
</head>
<body onload="OnLoad ()">
</body>

在 firefox->console 中,它显示:

The state of the document: interactive
The state of the document: complete
The document has been loaded.

问题:

为什么每次我在Firefox中运行脚本时,它只显示interactivecomplete?其他州怎么样:uninitializedloading...

4

1 回答 1

0

你没有得到状态:uninitialized,loading...因为你正在使用这个onreadystatechange函数而不是检查上面的两个状态。

并且onreadystatechange当文档处于交互或完成状态并且处于加载或未初始化状态时它不会调用。

要获得加载状态,您需要添加代码:

document.write(document.readyState);

在脚本开始时不使用onreadystatechange.

并且uninitialized您无法执行任何javascript并且无法获得该状态的状态。

于 2013-07-03T09:00:22.250 回答