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()
在任何一种情况下都只运行一次。

在这种情况下,我们需要查看整个脚本,尤其是元数据块。链接到实际的目标页面,或其代码的快照也可能是必要的。