【发布时间】:2013-06-06 20:31:56
【问题描述】:
我在opera中有以下用户javascript:
window.addEventListener(
'load',
function (e) {
document.title += " [MY loaded]";
}, false);
我只想在页面加载完成后更改标题,这样我就知道它已经完成了。标题将由另一个脚本监控。我的问题是一些页面完成加载但标题没有改变,我不知道为什么或如何修复它。示例:
https://docs.google.com/a/dirus.org/spreadsheet/viewform
这给了我一个“找不到页面”但脚本显然没有被触发。
编辑:浏览器收到的代码显然与问题无关,因为在加载以下页面时标题被正确修改,这给了我一个 404:
【问题讨论】:
-
如果未找到该页面,则说明您的页面未加载,这意味着该脚本未包含在内...为什么会这样?
-
因为加载了“找不到页面”页面。但是假设如果浏览器收到非 200 响应(我假设是这种情况)它不会触发“加载”事件,那么当浏览器完成加载时,我还能听到什么其他事件来更改标题发生了什么错误的页面?
-
等等,我可能是误会了。什么是“用户脚本”?当我阅读您的问题时,我想我没有看到这一点。对不起,如果它很明显。但也许这就是让我感到困惑的原因
-
基本上,它是 javascript 放置在 Opera 的特定文件夹中,Opera 会自动为我运行。我在 javascript 方面有些经验,但是对于这个用户脚本的东西(为我运行它的浏览器)来说是新的......这看起来很简单,但我承认我可能对它有误解。这就是我目前对它的理解。
-
所以让我确保我理解。你有这个应该在每个页面上执行的用户脚本,因为它已经设置好了。当
window“加载”事件发生时,您的脚本只会更改document.title。但是您发现由于某种原因,您的脚本并未在所有页面上执行。您提供的示例始终返回 404...它是否始终没有针对 only 404 响应执行?或者它甚至与那些页面不一致?您是否尝试在事件处理程序或其他任何内容中添加其他代码(例如简单的alert("hi");)?
标签: javascript opera userscripts