2016-09-20 1 views
-1

J'ai un script que je veux exécuter sur mon site de test sur toutes les pages avec mydomain.com/test.html et d'autres éléments, comme les pages avec une requête GET supplémentaire comme mydomain.com/test.html?a=1&b=2.Faire correspondre le chemin mais ignorer les paramètres de requête lors de la spécification de la cible

Une idée de comment je peux faire cela?

+0

'http: // exemple .com/test.html * ' – wOxxOm

+0

Cela n'aide pas du tout. Je l'ai actuellement défini sur 'mydomain.com/test.html' dans les options greasemonkey, mais dès que le domaine passe à 'mydomain.com/test.html?a=1&b=2', il ne fonctionne plus script Edit: Je devrais dire, j'ai l'URL correcte, avec http: // et autres joyeusetés, le problème provient des parties supplémentaires après l'URL –

+0

Littéralement juste 'http: // mydomain/test.html' et même en matched. Espace donc il ne fait pas que lien –

Répondre

0

Je préfère utiliser des expressions régulières pour spécifier des cibles userscript. Par exemple:

@include /https?:(www\.)?\/\/example\.com\/index\.html\?x=y/ 

Cela correspondra:

  • deux http et https, parce que ? après s caractère signifie qu'il n'est pas nécessaire
  • à la fois www et variante non www (? à nouveau, cette fois utilisé pour le groupe (www\.))
  • seulement /index.html?x=y chemin. Même les paramètres de la requête GET affecteront le script

Si vous voulez faire correspondre une requête GET, il suffit de remplacer x=y avec .*? qui dans les expressions régulières signifie quoi que ce soit:

@include /https?:(www\.)?\/\/example\.com\/index\.html\?.*?/