我需要找出窗口是否已加载。
我想创建一个checkLoaded
函数,该函数将根据调用时间返回true
或false
进行指示。
<html>
<head>
function checkLoaded(){
//alert true if window is loaded or alert false
}
</head>
<body onload="checkLoaded()"> <!-- This should alert true -->
Loding window.
<script>
checkLoaded();// this should alert false;
</script>
</body>
</html>
我不想使用在加载窗口时设置的全局变量。
有什么方法可以检查
window
对象的状态,也许是属性?我不想使用jQuery或任何其他外部库。
最佳答案
您可以使用document.readyState
属性检查文档是否已加载而不监听任何事件。它将设置为"complete"
,以检查文档和所有子资源是否已加载。 (这对应于load
事件。)
function checkLoaded() {
return document.readyState === "complete";
}
如果只想检查文档是否已加载,而不必担心子资源,也可以检查该属性是否为
"interactive"
。function checkLoaded() {
return document.readyState === "complete" || document.readyState === "interactive";
}
这应该在当前的浏览器中有效,但是在所有浏览器的旧版本中不支持。