我正在构建一个必须在非常旧的浏览器(IE 8,Firefox 20等)上运行的Web应用程序。
我可以依靠document.readyState being interactive and complete正常工作吗?
基本上,我想在DOM加载后执行一些操作,但如果已加载则立即执行操作。像这样:
if (document.readyState == 'interactive' ||
document.readyState == 'complete') {
doAction();
} else {
document.onready = doAction;
}
答案 0 :(得分:0)
我发现,使用AppleScript 2.5和Safari 10.0.3,我必须使用以下结构:
do JavaScript "document.location.href = \"" & aNewURL & "\""
repeat 5 times
if ¬
((do JavaScript "document.location.href") = aNewURL) and ¬
((do JavaScript "document.readyState") = "complete") then ¬
return
delay 3
end repeat
error...
因为readyState在第一行之后显示“完整”的旧 URL。