1

Derzeit wird eine Webextension erstellt und möchte wissen, welches URL-Übereinstimmungsmuster in meinem Hintergrundskript gefunden wurde, wenn das Ereignis webRequest.onBeforeRequest ausgelöst wurde, wenn das Ereignis mit einem URLFilter-Objekt verwendet wurde.Gibt es eine Möglichkeit, auf das übereinstimmende URL-Muster zuzugreifen, wenn es an das webRequest-Ereignis angehängt wird?

Leider empfängt der Rückruf nur ein details Objekt, das die URL der übereinstimmenden Website enthält, nicht das Übereinstimmungsmuster selbst. Zu Testzwecken gibt es auch a way described on mdn, um auf das Modul zuzugreifen, aber gibt es eine Möglichkeit, auf das tatsächlich passende Muster zuzugreifen, oder muss ich meine eigene Regexp-Anpassungsfunktion schreiben?

Antwort

0

Leider können die Ereignisse der Chrome-API nicht kommunizieren, welche Filterregel mit dem Rückruf übereinstimmt.

Da Sie die URL haben, können Sie den Abgleich selbst durchführen.

Eine andere Lösung wäre, einen Handler pro URL-Muster zu haben. Chrome Runtime leitet das Ereignis an den entsprechenden Rückruf weiter und Sie wissen, welcher Anrufer betroffen ist.

+0

Ich muss entweder das URLFilter-Objekt dynamisch hinzufügen und die Übereinstimmung regexp oder dynamisch die Listener erstellen. Irgendeine Idee, welche ist effizienter? – sveme