Подтвердить что ты не робот

Для чего нужно пространство имен Greasemonkey?

Я изучаю, как использовать Greasemonkey, и задавался вопросом, что означает идентификатор метаданных @namespace.

Должен ли он быть веб-адресом? Или это может быть папка/каталог на моем компьютере?

Нужно ли его заполнять?

4b9b3361

Ответ 1

Пространство имен используется, чтобы избежать конфликтов имен. Если бы вы назвали свой сценарий foobar, а кто-то другой сделал то же самое, тогда центральным репозиториям будет трудно их отличить.

Поэтому вы должны предоставить некоторый URL-адрес, которым вы управляете (то есть вы владеете им или можете управлять им), что в основном означает "все, что с этим URL-адресом, принадлежит мне". Теперь эти центральные репозитории могут различать foobar от http://somesite.com/ и foobar от http://anothersite.com.

Это не обязательно для базовой операции, но настоятельно рекомендуется, если вы хотите поделиться своими сценариями.

Помните, что mailto:[email protected] также является допустимым URL-адресом и может быть возможным вариантом, если вы не владеете или не управляете собственным доменом.

Ответ 2

В одном месте вы можете увидеть практический эффект пространств имен в сохранении предпочтений. Nampsaces используются для уникальной идентификации скриптов для любых сохраненных настроек script.

Например, если у вас есть script, как это:

// ==UserScript==
// @name            Script Name
// @namespace       http://example.com
// @include         *
// ==/UserScript==


GM_setValue("key", "value");

Это будет сохранено в ваших предпочтениях (доступно в prefs.js и about: config) следующим образом:

greasemonkey.scriptvals. http://example.com/Script Name.key

Обратите внимание на формат: greasemonkey.scriptvals. namespace. scriptname. key/variablename

Ответ 3

В общем случае пространство имен является абстрактным контейнером, предоставляющим контекст для элементов (имен или технических терминов или слов), которые он содержит, и допускающих неоднозначность элементов, имеющих одинаковое имя (находящихся в разных пространствах имен).

Источник: Пространство имен - Википедия

И более конкретно:

Это URL-адрес, и Greasemonkey использует его для отличия пользовательских скриптов, имеющих одно и то же имя, но написанных разными авторами. Если у вас есть доменное имя, вы можете использовать его (или подкаталог) в качестве своего пространства имен. В противном случае вы можете использовать тег: URI.

@namespace необязательно. Если он присутствует, он может появляться только один раз. Если нет, по умолчанию используется домен, из которого пользователь загрузил пользователя script.

Источник: Погружение в Greasemonkey - метаданные

Ответ 4

Пространство имен может быть URL, но не только. Вы можете использовать в качестве пространства имен несколько слов в качестве своего имени пользователя или имени.