web-dev-qa-db-ja.com

Greasemonkey名前空間は何に必要ですか?

私はGreasemonkeyの使い方を学んでいて、@namespaceメタデータID用です。

Webアドレスである必要がありますか?それとも私のコンピューター上のフォルダー/ディレクトリですか?

記入する必要がありますか?

58
Nope

名前空間は、名前の衝突を回避するために使用されます。スクリプトをfoobarと呼び、他の誰かが同様に呼び出した場合、中央リポジトリはそれらを区別するのに苦労します。

したがって、基本的に「そのURLを持つものはすべて私が持っている」ことを意味する、自分が制御する(つまり、所有または管理できる)URLを提供する必要があります。これらの中央リポジトリは、foobarhttp://somesite.com/を区別し、foobarhttp://anothersite.comを区別できるようになりました。

基本的な操作には必要ありませんが、スクリプトを共有する場合は強くお勧めします。

mailto:[email protected]も有効なURLであり、自分のドメインを所有または管理していない場合は、可能なオプションである可能性があることに注意してください。

56
Joachim Sauer

名前空間の実際的な効果を確認できる場所の1つは、設定の保存です。 Nampsacesは、スクリプト固有の保存された設定のスクリプトを一意に識別するために使用されます。

たとえば、次のようなスクリプトがあるとします。

// ==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という形式に注意してください。 namespacescriptnamekey/variablename

14
Athena

一般に、名前空間は、それが保持するアイテム(名前、技術用語、または単語)のコンテキストを提供し、同じ名前(異なる名前空間にある)を持つアイテムの明確化を可能にする抽象的なコンテナーです。

ソース: 名前空間-ウィキペディア

さらに具体的に:

これはURLであり、Greasemonkeyはそれを使用して、同じ名前を持つが異なる作成者によって記述されたユーザースクリプトを区別します。ドメイン名がある場合は、それ(またはサブディレクトリ)をネームスペースとして使用できます。それ以外の場合は、tag:URIを使用できます。

@namespaceはオプションです。存在する場合、1回だけ表示されることがあります。存在しない場合、デフォルトで、ユーザーがユーザースクリプトをダウンロードしたドメインになります。

出典: Dive Into Greasemonkey-Metadata

9
Tamara Wijsman

名前空間はURLにすることもできますが、URLにすることはできません。名前空間として、ユーザー名または実名としていくつかの単語を使用できます。

1
XXN