Javascript Chrome中标头重定向后Onreadystatechange不工作
我为一个可以调整图片大小的论坛制作了一个用户脚本。它工作得很好,除了在发布或编辑它重定向的位置后,Javascript Chrome中标头重定向后Onreadystatechange不工作,javascript,google-chrome,userscripts,onreadystatechange,Javascript,Google Chrome,Userscripts,Onreadystatechange,我为一个可以调整图片大小的论坛制作了一个用户脚本。它工作得很好,除了在发布或编辑它重定向的位置后,onreadystatechange不会在谷歌浏览器中触发 当查看一个线程时,例如SomeSite/forums.php?action=viewtopic&topicid=205362,用户脚本工作 编辑/发布后,例如SomeSite/forums.php?action=viewtopic&topicid=205362&page=p49976670#4976670,用户脚本无法工作 此代码存在问题:
onreadystatechange
不会在谷歌浏览器中触发
当查看一个线程时,例如SomeSite/forums.php?action=viewtopic&topicid=205362,用户脚本工作
编辑/发布后,例如SomeSite/forums.php?action=viewtopic&topicid=205362&page=p49976670#4976670,用户脚本无法工作
此代码存在问题:
document.onreadystatechange = function () {
if (document.readyState == "complete") {
//Call function
}};
我等待加载所有资源,因为如果页面上有很多图像,调整大小是不一致的
该脚本在Firefox和Greasemonkey中运行良好
知道为什么重定向后,
onreadystatechange
不会在Chrome上启动吗?是否有更好的方法等待资源加载?您没有说明是否使用@runat
参数,但是,。这意味着有时候用户脚本会在
onload
事件之前触发,有时候会在之后触发(默认情况下)。如果是在onload
事件之后,则不会触发onreadystatechange
要适应此行为,请将/@run at document end
添加到,或将该代码段替换为:
window.addEventListener ("load", YourMainFunction, false);
if (document.readyState == "complete") {
YourMainFunction ();
}
function YourMainFunction {
// DO ALL YOUR STUFF HERE...
}
在后一种情况下,
YourMainFunction()
将等待加载事件(与readyState==“complete”
)或在事件已通过时立即触发YourMainFunction()
在任何一种情况下都只运行一次。在这种情况下,我们需要查看整个脚本,尤其是元数据块。链接到实际的目标页面,或其代码的快照也可能是必要的。