我在下面有以下示例。我很好奇为什么控制台日志会将“文档已准备好”两行写入(在FF和Chrome中)。我怎样才能确保它只运行一次?
其他问题:由于我还使用已附加事件的window.onload
,是否可以添加窗口事件而不删除以前分配的事件?
<!doctype html>
<html>
<head>
<script>
window.onload=function(){console.log('window is ready');}
document.onreadystatechange = function(){console.log('document is ready');}
</script>
</head>
<body>
Hello
</body>
</html>
答案 0 :(得分:2)
它会多次运行,因为它有多个状态
https://developer.mozilla.org/en/docs/Web/API/Document/readyState
loading, interactive, complete
如果你只想抓住其中一个,只需使用类似于你看到链接的代码过滤它