我想在新 Greasemonkey 脚本的元数据中添加默认条目。
目前,当您使用新用户脚本...菜单时,您会看到这样的对话框(我填写了最少的必填字段,并且剪贴板是空):
这给出了一个像这样的新脚本:
// ==UserScript==
// @name _Sample default Greasemonkey script
// @namespace _pc
// @include http://stackoverflow.com/questions/*
// @version 1
// ==/UserScript==
但是,我想要 @require
jQuery 并向每个默认脚本添加一个 @author
字段。因此,默认代码如下所示:
// ==UserScript==
// @name _Sample default Greasemonkey script
// @namespace _pc
// @include http://stackoverflow.com/questions/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @author me
// @version 1
// ==/UserScript==
我该怎么做呢?当我编辑greasemonkey.jar(在文件夹扩展中)并添加行:@require http://[link to jquery from google]
时,它不起作用,并且Greasemonkey打开时出现问题(¿文件?)。
如何更改默认值 Metadata Block指令?
最佳答案
我明白了you have already opened a feature request ,这是处理这个长期问题的正确方法。
对于一个快速而肮脏的临时修复 - 仅对您有效,并且仅在下一次 Greasemonkey 更新之前有效,您可以执行以下操作:
- 关闭 Firefox。
- 找到您的Firefox profile folder .
- 为了更加安全,请保存您的个人资料文件夹的备份副本。
- 找到 Greasemonkey 扩展包。它将位于
extensions
子文件夹中,通常命名为{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpi
。 - 使用 zip 文件工具,例如 7-Zip ,打开
.xpi
文件。 - 查找并提取
content\newscript.js
。 在第 124 行
script.push("//@version 1");
之前,添加以下行:script.push("// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"); script.push("// @author me"); script.push("// @grant GM_addStyle");
GM_addStyle
位是为了防止默认 GM 脚本的常见问题——尤其是添加 jQuery 的脚本。将更改后的
newscript.js
更新到.xpi
文件中。重新启动 Firefox。更改应该生效。
注意事项:
- 如果您不小心,对
.xpi
文件进行这样的编辑可能会导致您的 Firefox 配置文件损坏! - 理论上,您甚至可能需要在某些损坏后卸载并重新安装 Firefox。
- 每次推出新版本的 Greasemonkey 后,您都必须重新进行此更改。
如果您有技能,问题稍微少一点的方法是:(1) fork the source ,(2) 更改 newscript.js
,如我上面详细介绍的,(3) 更改扩展 ID,以及 (4) 安装您的 fork 版本。
这将是:记录在案、风险更低、更持久,并且允许您在已发布的 GM 和您自己的版本之间快速切换。
如果您有更多技能,您可以 fork 代码,向 GM 添加自定义元数据功能,并发起拉取请求。这涉及更多。
关于jquery - 如何更改新 Greasemonkey 脚本中的默认元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236366/