メインコンテンツまでスキップ

メタデータブロック

==UserScript== 内のコンテンツは、スクリプトが必要とする権限やスクリプトに関する情報を記述します。スクリプトの最初に配置します。

// ==UserScript==
// @name 新しいユーザースクリプト
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description try to take over the world!
// @author You
// @crontab * * once * *
// ==/UserScript==

主要な値

name

スクリプト名

namespace

スクリプトの名前空間。name + namespace でスクリプトのユニーク性を決定します。

version

スクリプトのバージョン。セマンティックバージョニング に従うことをお勧めします。バージョンの変更が検出されると、ユーザーに更新が促されます。

description

スクリプトの詳細な説明

author

スクリプトの作者

run-at

スクリプトの実行タイミング

実行タイミングサポート開始バージョン
document-startフロントエンドで URL が一致するとすぐにページにスクリプトを注入v0.3.0
document-endDOM の読み込み完了後にスクリプトを注入。ページスクリプトや画像がまだ読み込み中の場合があるv0.3.0
document-idleすべてのコンテンツの読み込み完了後にスクリプトを注入v0.3.0
document-bodyページに body 要素が存在する場合のみスクリプトを注入v0.6.2
document-menu右クリック時にメニューを表示。スクリプト名をメニュー名として使用v0.3.4-v0.9.4 (🔥 削除済み)

メニューのアイコンについては、Unicode シンボル絵文字 を参照してください。

run-in

スクリプトを注入する環境を指定します:@run-in normal-tabs は通常のタブ、@run-in incognito-tabs はプライベートタブです。

early-start (v1.1.0+)

run-atdocument-start の場合、スクリプトはできるだけ早く実行されますが、ページより早く読み込まれることは保証されません。

@run-at document-start を定義した後に @early-start を追加すると、スクリプトがページより早く読み込まれます:

inject-into

ヒント

コンテンツスクリプト環境(content)では、unsafeWindow はその環境自体の現在の window を指し、ページの window にはアクセスできません。

ScriptCat は CSP の制限を自動的にチェックして content または page として注入するかどうかを判断する機能(Tampermonkey の @inject-into auto)をサポートしていません。

スクリプトの注入先を指定します。pagecontent をサポートし、デフォルトは page です。

  • page:スクリプトはページ環境に注入され、unsafeWindow を使用してページの windowDOM にアクセスできます
  • content:スクリプトはコンテンツスクリプト環境に注入され、ページの window オブジェクトには直接アクセスできませんが、ページ DOM にアクセスでき、CSP の制限を受けません

storageName 🧪

Value の保存スペース。同じ storageName 下のデータはスクリプト間で共有および通信できます。ScriptCat 固有の機能です。

background

このスクリプトをバックグラウンドスクリプトとしてマークします。詳細は バックグラウンドスクリプト を参照してください。

crontab

スクリプトをスケジュールスクリプトとしてマークします。cron 式の値が必要です。cron 式は1つだけ存在でき、バックグラウンド環境でそのスケジュールで実行されます。詳細は スケジュールスクリプト を参照してください。

match

match に一致する URL のみでスクリプトを実行します。マッチパターン に従います。match では * がワイルドカード、tld がトップレベルドメインに一致し、*. で始まるドメインは xxx.com にも一致します:

正しい例正しくない例
http://scriptcat.org/doc/matchhttp://scriptcat.org/doc/matchhttp://scriptcat.org/doc/runAt
*://*/param?*https://scriptcat.org/param | http://scriptcat.org/param?search=tampermonkeyhttps://scriptcat.org/test/param
http*://scriptcat.org/*https://scriptcat.org/ | https://scriptcat.org/dochttps://doc.scriptcat.org/

include

* を使用したあいまい一致をサポートし、非標準 URL を許可します

exclude

一致すべきでない URL。include と同じ式構文を使用します

grant

API 権限をリクエストします。API はリクエストされた後にのみ呼び出できます。権限リストは:API ドキュメント および CAT API ドキュメント を参照してください。

2つの特殊な値:

  • none:スクリプトはサンドボックス環境で実行されず、ページ環境で直接実行されます。この環境では GM API は使用できませんが、ページの window オブジェクトに直接アクセスできます。
  • unsafeWindow:サンドボックス環境でページの window オブジェクトにアクセスする必要がある場合は、unsafeWindow を使用します。(Tampermonkey はこれを宣言する必要はありません。互換性のためのみ残されています。)

connect

サイトへのアクセス権限をリクエストします。GM_cookieGM_xmlhttpRequest を参照してください。native モードの GM_download@connect を認識します(未宣言のホストは確認プロンプトを表示します)。

resource

リソースファイルを含めます。@resource を宣言した後、GM_getResourceText/GM_getResourceURL を使用して情報を取得できます。

// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico
// @resource html https://bbs.tampermonkey.net.cn/
// @resource xml https://bbs.tampermonkey.net.cn/sitemap.xml
// リソース整合性検証を追加
// @resource icon https://bbs.tampermonkey.net.cn/favicon.ico#md5-xxx,sha256-xxx

require

外部 JS ファイルを含めます。リソース整合性検証 をサポートします

require-css

外部 CSS ファイルを含めます。リソース整合性検証 をサポートします

noframes

スクリプトが <frame> 内で実行されないことをマークします

definition

.d.ts ファイルの参照アドレス。エディタの自動補完ヒントを有効にします

antifeature

スクリプトマーケットプレイスに関連します。歓迎されない機能にはこの説明値でフラグを付ける必要があります:

// @antifeature ads このスクリプトには広告が含まれています
// @antifeature referral-link このスクリプトは著者のリファラルリンクに変更またはリダイレクトします

追加の説明値

license

現在のスクリプトのオープンソースライセンス

updateURL

更新チェックには、リモートスクリプトに @version タグが必要です。

スクリプトが更新をチェックするリンク。設定されていない場合、デフォルトではリンクの user.js => meta.jsuser.js がない場合は現在のリンクです。

@updateURL が設定されている場合、@updateURL が機能するには @downloadURL も設定する必要があります。

downloadURL

スクリプト更新のダウンロードアドレス

supportURL

サポートサイト、バグ報告ページ

homepage, homepageURL, website

スクリプトホームページ

source

スクリプトソースコードページ

icon, iconURL, defaulticon

スクリプトアイコン

icon64, icon64URL

64x64 サイズのスクリプトアイコン

Notes

リソース整合性検証

  • md5、sha1、sha256、sha384、または sha512 を使用してリソースの改ざんを検証します。複数の検証方法を ; または , で区切ることができます。
  • W3C の推奨 により、md5 と sha1 は推奨されません。sha384 以上のハッシュアルゴリズムを使用してください。

例:

// @require https://cdn.jsdelivr.net/npm/[email protected]/lib/darkmode-js.min.js#md5-d55836f30c097da753179f82fa6f108f,sha256-a476ab8560837a51938aa6e1720c8be87c2862b6221690e9de7ffac113811a90