我正在学习如何使用Greasemonkey,并且想知道@namespace
元数据ID的用途。
它必须是网址吗?还是它可以是我计算机上的文件夹/目录?
甚至需要填写吗?
Answers:
名称空间用于避免命名冲突。如果您调用脚本foobar
并且其他人也这样做,那么中央存储库将很难区分它们。
因此,您应该提供一些您可以控制的URL(即您拥有它或可以对其进行管理),该URL基本上意味着“该URL的所有内容都是我本人”。现在,这些中央存储库可以区分foobar
从http://somesite.com/
和foobar
从http://anothersite.com
。
基本操作不是必需的,但是如果要共享脚本,强烈建议使用。
请记住,这mailto:someone@example.com
也是一个有效的URL,当您不拥有或控制自己的域时,这可能是一个可能的选择。
mailto:
URI,如果您想使其成为URL)。
您可以看到名称空间的实际效果的一个地方是存储首选项。namapaces用于为任何特定于脚本的存储首选项唯一地标识脚本。
例如,如果您具有如下脚本:
// ==UserScript==
// @name Script Name
// @namespace http://example.com
// @include *
// ==/UserScript==
GM_setValue("key", "value");
它将存储在您的首选项中(可在prefs.js和about:config中访问),如下所示:
油腻的monkey.scriptvals。http://example.com/Script Name.key
请注意以下格式:buttermonkey.scriptvals。namespace
。scriptname
。key/variablename