私はそれが持っているパラメーターに応じて、特定のページで実行する必要があるスクリプトに取り組んでいます。 URLは次のようになります。
http://example.com/page.php?key1=value1&key2=value2&...
そして、page.php
にはkey1=value1
そのパラメーターの中。
今私は使用しています
@match http://example.com/page.php?key1=value1&*
ただし、page.php
には他のパラメーターはありません。また、key1
も最初のパラメーターではありません。
パラメータに従ってページを一致させる方法はありますか?
@match
は、URLのプロトコル/スキーム、ホスト、およびパス名でのみ機能します。
クエリパラメータをトリガーするには、@include
を使用するか、@match
を使用して、URLを自分でテストすることができます。@match
アプローチの方が高速であることに注意してください。
@include
を使用すると、正規表現構文を使用できます。 ルールの包含および除外 も参照してください。
この場合、either:を使用します
...
// @include /^https?://example\.com/page\.php*key1=value1*/
// ==/UserScript==
または:
...
// @match *://example.com/page.php*
// ==/UserScript==
if (/\bkey1=value1\b/.test (location.search) ) {
// DO YOUR STUFF HERE.
}
@match
のドキュメントによると、クエリ文字列パラメーターはGreasemonkeyエンジンが一致するものではないようです。