私はGreasemonkeyの使い方を学んでいて、@namespace
メタデータIDが何のためにあるのか疑問に思っていました。
Webアドレスである必要がありますか?または、それは私のコンピュータ上のフォルダ/ディレクトリである可能性がありますか?
記入する必要もありますか?
私はGreasemonkeyの使い方を学んでいて、@namespace
メタデータIDが何のためにあるのか疑問に思っていました。
Webアドレスである必要がありますか?または、それは私のコンピュータ上のフォルダ/ディレクトリである可能性がありますか?
記入する必要もありますか?
名前空間は、名前の衝突を回避するために使用されます。スクリプトを呼び出し、foobar
他の誰かが同様に呼び出した場合、中央リポジトリはそれらを区別するのに苦労します。
したがって、基本的に「そのURLを持つものはすべて私が作成する」という意味の、自分で管理する(つまり、自分が所有しているか、管理できる)URLを提供する必要があります。foobar
これで、これらの中央リポジトリは、からhttp://somesite.com/
とからfoobar
を区別できますhttp://anothersite.com
。
基本的な操作には必要ありませんが、スクリプトを共有したい場合は強くお勧めします。
mailto:someone@example.com
これも有効なURLであり、独自のドメインを所有または管理していない場合に可能なオプションである可能性があることに注意してください。
名前空間の実際的な効果を確認できる場所の 1 つは、設定の保存です。ナンパスペースは、スクリプト固有の保存された設定のスクリプトを一意に識別するために使用されます。
たとえば、次のようなスクリプトがあるとします。
// ==UserScript==
// @name Script Name
// @namespace http://example.com
// @include *
// ==/UserScript==
GM_setValue("key", "value");
これは、次のように設定 (prefs.js および about:config でアクセス可能) に保存されます。
グリースモンキー.scriptvals. http://example.com/スクリプト名.key
次の形式に注意してください: Greasemonkey.scriptvals。namespace
. scriptname
.key/variablename
一般に、名前空間は、保持するアイテム(名前、専門用語、または単語)のコンテキストを提供し、同じ名前(異なる名前空間に存在する)のアイテムの曖昧さを解消できる抽象的なコンテナーです。
出典:名前空間-ウィキペディア
そしてより具体的に:
これはURLであり、Greasemonkeyはこれを使用して、同じ名前であるが異なる作成者によって作成されたユーザースクリプトを区別します。ドメイン名がある場合は、そのドメイン名(またはサブディレクトリ)を名前空間として使用できます。それ以外の場合は、タグURIを使用できます。
@namespaceはオプションです。存在する場合、1回だけ表示される場合があります。存在しない場合は、デフォルトで、ユーザーがユーザースクリプトをダウンロードしたドメインになります。