Greasemonkey 命名空间有何用途?
我正在学习如何使用 Greasemonkey,并且想知道 @namespace
元数据 id 的用途。
它必须是网址吗? 或者它可以是我计算机上的文件夹/目录吗?
还需要填写吗?
I'm learning how to use Greasemonkey, and was wondering what the @namespace
metadata id is for.
Does it have to be a web address? Or can it be a folder/directory on my computer?
Does it even need to be filled in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
命名空间用于避免命名冲突。 如果您调用脚本
foobar
并且其他人也这样做,那么中央存储库将很难区分它们。因此,您应该提供一些您控制的 URL(即您拥有它或可以管理它),这基本上意味着“具有该 URL 的所有内容都由我负责”。 现在,这些中央存储库可以区分
foobar
和http://somesite.com/
以及foobar
和http://anothersite。 com
。对于基本操作来说不是必需的,但如果您想共享脚本,强烈建议您这样做。
请记住
mailto:[电子邮件受保护]
也是一个有效的 URL,当您不拥有或控制自己的域时,这可能是一个可能的选项。A namespace is used to avoid naming collisions. If you called your script
foobar
and someone else did as well, then central repositories would have a hard time telling them apart.Therefore you should provide some URL that you control (i.e. you own it or can administrate it) that basically means "everything with that URL is by me". Now those central repositories can distinguish between
foobar
fromhttp://somesite.com/
andfoobar
fromhttp://anothersite.com
.It's not necessary for basic operation, but strongly suggested if you want to share your scripts.
Keep in mind that
mailto:[email protected]
is also a valid URL and might be a possible option when you don't own or control a domain of your own.您可以看到命名空间实际效果的一处是存储首选项。 Nampsace 用于唯一标识任何特定于脚本的存储首选项的脚本。
例如,如果您有这样的脚本:
它将存储在您的首选项中(可在 prefs.js 和 about:config 中访问),如下所示:
greasemonkey.scriptvals.http://example.com/Script Name .key
请注意格式:greasemonkey.scriptvals 。
命名空间
。脚本名称
。键/变量名
One place you can see the practical effect of namespaces is in storing preferences. Nampsaces are used to uniquely identify scripts for any script-specific stored preferences.
For example, if you have a script like this:
That would be stored in your preferences (accessible in prefs.js, and about:config) like so:
greasemonkey.scriptvals.http://example.com/Script Name.key
Note the format: greasemonkey.scriptvals .
namespace
.scriptname
.key/variablename
更具体地说:
And more specific:
命名空间可以是 URL,但不仅如此。 您可以使用一些单词作为名称空间作为您的用户名或真实姓名。
Namespace can be a URL, but not only. You can use as namespace some words as your username or real name.