80

私はGreasemonkeyの使い方を学んでいて、@namespaceメタデータIDが何のためにあるのか疑問に思っていました。

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

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

4

4 に答える 4

77

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

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

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

mailto:someone@example.comこれも有効なURLであり、独自のドメインを所有または管理していない場合に可能なオプションである可能性があることに注意してください。

于 2008-12-22T16:10:16.930 に答える
20

名前空間の実際的な効果を確認できる場所の 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.scriptvalsnamespace. scriptname.key/variablename

于 2008-12-22T16:28:56.190 に答える
11

一般に、名前空間は、保持するアイテム(名前、専門用語、または単語)のコンテキストを提供し、同じ名前(異なる名前空間に存在する)のアイテムの曖昧さを解消できる抽象的なコンテナーです。

出典:名前空間-ウィキペディア

そしてより具体的に:

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

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

出典:DiveIntoGreasemonkey-メタデータ

于 2008-12-22T16:10:57.893 に答える