【发布时间】:2013-05-04 14:56:00
【问题描述】:
我目前正在尝试在 Tampermonkey 中为单独的页面创建 3 个用户脚本。使用 GUI,我可以单击“添加新脚本”,但是每次我在进行更改后保存时,它都会重新保存在“My Fancy New Userscript”的顶部,并且似乎没有任何重命名方式脚本。
也许我错过了什么?:)
【问题讨论】:
我目前正在尝试在 Tampermonkey 中为单独的页面创建 3 个用户脚本。使用 GUI,我可以单击“添加新脚本”,但是每次我在进行更改后保存时,它都会重新保存在“My Fancy New Userscript”的顶部,并且似乎没有任何重命名方式脚本。
也许我错过了什么?:)
【问题讨论】:
名称由@name 指令设置。在 Tampermonkey 中,不能有多个脚本具有相同的 @name1。
实际上,您应该检查并更改或删除每个新脚本的默认 @ 指令。其中大部分是混乱的(大部分时间),并且像@match http://*/* 指定的那样在每个页面上运行一个脚本是不好的做法。
一个好的入门模板是:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @match http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
在哪里更改每个脚本的 @name 和 @match(es)。
此模板还使用本地磁盘中的 jQuery(对于任何严肃的脚本,您都希望这样做),并且与 Greasemonkey 完全兼容。
1 这实际上是一个错误。 Tampermonkey 应该遵循 Greasemonkey 模型,其中 @name + @namespace 组合必须是唯一的。
【讨论】: