如何在网页上运行任何内联脚本之前运行用户脚本?

Posted

技术标签:

【中文标题】如何在网页上运行任何内联脚本之前运行用户脚本?【英文标题】:How can I run a user script before any inline scripts run on a webpage? 【发布时间】:2011-02-05 20:06:02 【问题描述】:

我想为 Firefox 制作一个在页面上的脚本之前运行的greasemonkey 类型脚本。 Greasemonkey 脚本在页面上的脚本之后运行,所以这不起作用。我需要这个的原因是因为我想编辑页面上的一个脚本。具体来说,我想删除一个强制页面加载到框架内的脚本,因为框架内的页面会中断 F5(按 F5 会使页面跳回首页而不是重新加载当前页面)。此外,我不想通过带有 AJAX 的代理加载页面,并且切换到 chrome/opera 也不是一种选择。我在想也许 Jetpack 附加组件会起作用,但它似乎只有与greasemonkey 使用的事件相同的事件,即 DOMContentLoaded。有什么想法吗?

【问题讨论】:

IF Opera 是一个选项,您可以简单地将 *.user.js 文件重命名为 *.js,它甚至会在任何内容开始加载之前运行。跨度> 我知道,但我不使用 Opera 作为我的浏览器。由于我已经高度定制了Firefox,因此切换并仍然拥有我想要的一切可能是不可能的。为一个站点安装和使用另一个浏览器似乎有点傻。 【参考方案1】:

[edit 2013] 将附加 SDK 的 page-mod 模块与 contentScriptWhen = start 一起使用。


老: 是的,只有较新的 Firefox 版本(当前为 3.7 版本,以后可能会添加到 3.6.x)支持在指定内容的脚本之前运行自定义脚本。我wrote a prototype Jetpack-SDK module 以利用新通知。

它是

【讨论】:

有趣。我会看看我是否能弄清楚如何让它工作。该脚本是一个内联脚本。 您能否添加对示例的引用以执行@Telanor 的要求?

以上是关于如何在网页上运行任何内联脚本之前运行用户脚本?的主要内容,如果未能解决你的问题,请参考以下文章

ajax 在运行脚本之前检查用户是不是登录

如何在 HTML 中运行 python 脚本?

如何使用用户输入作为参数运行 .py 脚本

从网站上的 PHP 脚本运行 Java 类文件

可以在 IE11 中运行用户脚本

当我的 python 脚本在服务器上运行时,如何访问我的本地网络摄像头? (实时人脸识别)