93 votes

Outil de développement Chrome: un moyen d'exclure chaque appel contenant une chaîne avec regex?

malheureusement, dans les dernières versions de Chrome, le filtre réseau négatif ne fonctionne plus. J'ai utilisé ce filtre afin d'exclure chaque appel http contenant une chaîne particulière. J'ai demandé une solution dans le forum de l'outil de développement Chrome, mais pour le moment personne n'a répondu.

J'aimerais donc savoir s'il existe un moyen de résoudre ce problème (et d'exclure par exemple chaque appel contenant la chaîne 'loadMess') avec la syntaxe regex.

Merci beaucoup

141voto

Gideon Pyzer Points 10431

Mise à jour (2018):

C'est une mise à jour de mon ancienne réponse à préciser que les deux bugs ont été corrigés depuis quelques temps maintenant.

  1. Nier ou de les exclure de filtrage fonctionne comme prévu maintenant. Cela signifie que vous pouvez filtrer demande chemins avec my.com/path (montrer les demandes correspondant à présent), ou -my.com/path (montrer les demandes ne correspondant pas).

  2. La regex solution fonctionne aussi après mon PR correctif apporté dans la production. Cela signifie que vous pouvez également filtrer avec /my.com.path/ et /^((?!my.com/path).)*$/, ce qui permettra d'atteindre le même résultat.

J'ai laissé l'ancien répondre ici à titre de référence, et cela explique aussi le négatif de recherche de solution.


La pré-définie négative des filtres pour faire le travail, mais il ne dispose pas actuellement de vous permettre de faire NOT filtres sur les noms dans google Chrome stable, seulement CONTAINS. C'est un bug qui a été corrigé dans Chrome Canary.

Une fois que le changement a été poussé à google Chrome stable, vous devriez être en mesure de le faire loadMess pour filtrer uniquement pour ce nom, et -loadMess de filtrer ce nom et de laisser le reste, comme il était auparavant.

Negative Filter

Solution de contournement: Regex pour faire correspondre une chaîne de caractères ne contenant une chaîne de caractères

^((?!YOUR_STRING).)*$

Exemple:

^((?!loadMess).)*$

Explication:

  • ^ - Début de la chaîne

  • (?!loadMess) - Anticipation négatif (à ce curseur, ne correspondent pas à la prochaine bits, sans capture)

  • . - Match à n'importe quel caractère (sauf les sauts de ligne)

  • ()* - 0 ou plus de ce qui précède groupe

  • $ - La fin de la chaîne

Mise à jour (2016):

J'ai découvert qu'il y a effectivement un bug avec la façon dont DevTools traite avec la Regex dans le panneau Réseau. Cela signifie que la solution de contournement ci-dessus ne fonctionne pas, malgré qu'il soit valide.

Le Réseau du panneau de filtre sur le Nom et le Chemin d'accès (comme l'a découvert à partir du code source), mais il n'deux tests qui sont OU ed. Dans le cas ci-dessus, si vous avez loadMess dans le Nom, mais pas dans le Chemin d'accès (par exemple, pas le domaine ou répertoire), il va correspondre à un ou l'autre. Pour clarifier, true || false === true, ce qui signifie qu'il ne filtrer loadMess si elle est à la fois le Nom et le Chemin d'accès.

J'ai créé un problème dans le Chrome et par la suite, ont poussé un correctif à être examiné. Cela a par la suite été regroupées.

48voto

Johnny C Points 409

Ceci est répondu ici - pour le dernier Chrome 58.0.3029.110 (version officielle) (64 bits) https://stackoverflow.com/a/27770139/4772631

Exemple: si je veux exclure tous les gifs, tapez simplement -gif Voici un petit exemple

3voto

Marx Wolf Points 111

Chrome broswer dev tools supporte le filtre regrex pas très bien.
Lorsque je veux masquer certaines demandes, cela ne fonctionne pas comme indiqué ci-dessus. Mais vous pouvez utiliser -hide1 -hide2 pour masquer la demande souhaitée.
Laissez juste un espace entre les conditions, et ceci ne correspond pas au regrex, je suppose qu'il peut utiliser une correspondance de chaîne autre que le principe de regrex

1voto

Mepps Points 398

Sur la dernière version chromée (62), vous devez utiliser:

 -mime-type:image/gif
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X