Greasemonkey/Tampermonkey @match pour une page avec des paramètres
Je suis en train de travailler sur un script qui doit être exécutée 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 j'ai besoin pour le match quand page.php
a la key1=value1
parmi ses paramètres.
Maintenant, je suis en utilisant
@match http://example.com/page.php?key1=value1&*
Mais il ne correspond pas si page.php
n'a pas d'autres paramètres. Elle a également remporté le match pas si key1
n'est pas le premier paramètre.
Est-il de toute façon à correspondre à une page en fonction d'un paramètre?
OriginalL'auteur noquierouser | 2013-12-09
Vous devez vous connecter pour publier un commentaire.
@match
ne fonctionne que sur le protocole/régime, de l'hôte et chemin d'accès de l'URL.Pour déclencher les paramètres de la requête, vous pouvez utiliser
@include
ou de l'utilisation@match
et également de tester l'URL vous-même.À un moment, le
@match
approche plus rapide. Ne l'ai pas testé dans un certain temps.Avec
@include
, vous pouvez utiliser une expression régulière de la syntaxe.Voir, aussi Inclure et exclure des règles.
Dans ce cas, utilisez:
Ou:
@match
exemple parce que@include
n'a pas fonctionné (je vais continuer à essayer, tout de même). Aussi, j'ai eu à faire ce match pour le faire fonctionner:@match http://example.com/page.php*
Dans la dernière version,
@match
ne correspond pas à l'ensemble de l'URI, y compris la chaîne de requête. Par exemple,@match https://www.example.com
ne correspondent pashttps://www.example.com?foo=bar
.Plusieurs correspondre les instructions dans mon TamperMonkey script peut fonctionner pour le premier site répertorié, mais pas les autres. Je suis allé à l'aide de
include
avec une regex, veillant à ne pas oublier les délimiteurs, et il semble que je ne peux plus utiliser mon personnalisée d'habitude délimiteurs de la place.Le deuxième exemple (à l'aide de
@match
) a travaillé pour moi! Juste l'ajout de la*
pour le chemin d'accès d'URL fonctionne si il est placé à l'avant de toutes les chaînes de requête.OriginalL'auteur Brock Adams
Selon la documentation de
@match
, il ne semble pas que les paramètres de chaîne de requête est quelque chose que l'Greasemonkey moteur de match sur:https://developer.chrome.com/extensions/match_patterns.html
OriginalL'auteur Rob M.