1
我正在构建一个必须在非常旧的浏览器(IE 8,Firefox 20等)上工作的Web应用程序。浏览器支持readyState交互式?
我可以依靠document.readyState being interactive and complete正常工作吗?
基本上,我想在DOM加载后执行一些操作,但如果它已经加载,立即执行操作。就像这样:
if (document.readyState == 'interactive' ||
document.readyState == 'complete') {
doAction();
} else {
document.onready = doAction;
}
你可以在5年前找到大量关于这个问题的文章。寻找domready js libs/snips;有3或4种方法可以做到这一点... – dandavis
谢谢!有趣的... jQuery在2006年使用document.readyState =='加载'的Safari ... http://code.jquery.com/jquery-1.0.js – dangerChihuahua007
互动状态是不可靠的IE9和完全在早期的Android上缺席。后者的浏览器不支持'readyState'阶段,但不支持'onreadystatechange'。这提供了一个机会,用if(typeof document.onreadystatechange!=='object')'过滤它。我测试脚本的'async'支持以排除IE9。使用'complete'似乎十分跨浏览器。 – Shikkediel