不需要galambalazs提到的所有代码。在纯Javascript中实现跨浏览器的方法只是测试
document.readyState:
if (document.readyState === "complete") { init(); }jQuery也是这样做的。
根据加载Javascript的位置,可以在一个间隔内完成:
var readyStateCheckInterval = setInterval(function() { if (document.readyState === "complete") { clearInterval(readyStateCheckInterval); init(); }}, 10);实际上,
document.readyState可以具有三种状态:
文档加载时返回
“ loading”,解析完成后返回
“ interactive”,但仍加载子资源,加载后返回
“ complete”。
因此,如果你只需要准备DOM,请检查
document.readyState === "interactive"。如果你需要准备整个页面,包括图像,请检查
document.readyState === "complete"。



