Greasemonkey /Tampermonkey @ match pour une page avec des paramètres
Je travaille sur un script qui doit être exécuté dans une certaine page, en fonction des paramètres dont il dispose. L'URL est comme ceci:
http://example.com/page.php?key1=value1&key2=value2&...
Et je dois le faire correspondre quand page.php
a le key1=value1
parmi ses paramètres.
Maintenant, j'utilise
@match http://example.com/page.php?key1=value1&*
, Mais il ne correspond pas si page.php
n'a pas d'autres paramètres. Il ne correspondra pas non plus si key1
n'est pas non plus le premier paramètre.
Est-il un moyen de faire correspondre une page en fonction d'un paramètre?
2 réponses
@match
fonctionne uniquement sur le protocole / schéma, l'hôte et le chemin D'accès d'une URL.
Pour déclencher les paramètres de requête, vous pouvez soit utiliser @include
ou utiliser @match
et également tester l'URL vous-même.
À un moment donné, l'approche @match
a été plus rapide. Ne l'ai pas testé dans un certain temps cependant.
Avec @include
, vous pouvez utiliser une syntaxe regex.
Voir aussi inclure et exclure les règles .
Dans ce cas, utilisez:
...
// @include /^http://example\.com/page\.php*key1=value1*/
// ==/UserScript==
Ou:
...
// @match http://example.com/page.php*
// ==/UserScript==
if (/\bkey1=value1\b/.test (location.search) ) {
// DO YOUR STUFF HERE.
}
Selon la documentation de @match
, Il ne semble pas que les paramètres de chaîne de requête correspondent au moteur Greasemonkey: