Greasemonkey: Nightly kann das Übereinstimmungsmuster nicht analysieren

Erstellt am 12. Feb. 2017  ·  11Kommentare  ·  Quelle: greasemonkey/greasemonkey

Das folgende Skript schlägt mit dem folgenden Fehler fehl: Error: <strong i="5">@match</strong> could not parse pattern

// ==UserScript==
// <strong i="8">@name</strong>        match test
// <strong i="9">@namespace</strong>   https://github.com/an-electric-sheep/
// <strong i="10">@version</strong>     1
// <strong i="11">@match</strong>       *://*.twitter.com/*
// <strong i="12">@grant</strong>       none
// ==/UserScript==

Es funktioniert auf FF stabil. Ich vermute, dass es bald viele Skripte kaputt machen würde.

Hilfreichster Kommentar

Zuletzt gut: Firefox 54.0a1 (2017-02-09)
Erstellt von https://hg.mozilla.org/mozilla-central/rev/b772e0f4138540113e91a46c99bb0d14ecc8acca

Erster Fehler: Firefox 54.0a1 (2017-02-10)
Erstellt von https://hg.mozilla.org/mozilla-central/rev/25a94c1047e793ef096d8556fa3c26dd72bd37d7

Pushlog
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b772e0f4138540113e91a46c99bb0d14ecc8acca&tochange=25a94c1047e793ef096d8556fa3c26dd72bd37d7

Fehler #1337629 ist der Verdächtige.

__Schritte zum Reproduzieren:__
1) Scratchpad öffnen
2) Menü: "Umgebung-Browser"
3) Geben Sie den Code ein:

var url = "http://*.twitter.com/*";
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
    .getService(Components.interfaces.nsIIOService);
alert(ioService.newURI(url, null, null));

4) Laufen
5) Das Ergebnis:

__Firefox 54.0a1 (2017-02-09)__

Warnung: http://*.twitter.com/*

__Firefox 54.0a1 (2017-02-10)__

Exception: [Exception... "Component returned failure code: 0x804b000a
(NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]"  nsresult: "0x804b000a
(NS_ERROR_MALFORMED_URI)"
location: "JS frame :: Scratchpad/1 :: <TOP_LEVEL> :: line 15"  data: no]

Alle 11 Kommentare

Zuletzt gut: Firefox 54.0a1 (2017-02-09)
Erstellt von https://hg.mozilla.org/mozilla-central/rev/b772e0f4138540113e91a46c99bb0d14ecc8acca

Erster Fehler: Firefox 54.0a1 (2017-02-10)
Erstellt von https://hg.mozilla.org/mozilla-central/rev/25a94c1047e793ef096d8556fa3c26dd72bd37d7

Pushlog
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b772e0f4138540113e91a46c99bb0d14ecc8acca&tochange=25a94c1047e793ef096d8556fa3c26dd72bd37d7

Fehler #1337629 ist der Verdächtige.

__Schritte zum Reproduzieren:__
1) Scratchpad öffnen
2) Menü: "Umgebung-Browser"
3) Geben Sie den Code ein:

var url = "http://*.twitter.com/*";
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
    .getService(Components.interfaces.nsIIOService);
alert(ioService.newURI(url, null, null));

4) Laufen
5) Das Ergebnis:

__Firefox 54.0a1 (2017-02-09)__

Warnung: http://*.twitter.com/*

__Firefox 54.0a1 (2017-02-10)__

Exception: [Exception... "Component returned failure code: 0x804b000a
(NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]"  nsresult: "0x804b000a
(NS_ERROR_MALFORMED_URI)"
location: "JS frame :: Scratchpad/1 :: <TOP_LEVEL> :: line 15"  data: no]

Hallo, das sieht für mich so aus, als würde es URIs missbrauchen. Gibt es einen bestimmten Grund, warum ein URI mit diesem Muster erstellt wird? Wie wird ein tatsächlicher URI mit einem Muster-URI abgeglichen.
Dies zu verstehen würde bei der Entscheidung helfen, ob der Fehler 1337629 zurückgesetzt werden soll oder nicht.

@valenting verwendet den URI, um die verschiedenen URI-Teile (Schema, Host, Pfad) sicher zu extrahieren, bevor reguläre Ausdrücke auf die einzelnen Teile

MatchPattern.jsm

Beachten Sie auch, dass dies für mich dazu führte, dass ein bereits installiertes Skript im Hintergrund entfernt oder nicht geladen wurde. Dies war ziemlich überraschend und ich weiß nicht, ob es sich davon hätte erholen können, dh wenn das Skript nicht einfach weg war, bis es neu installiert wird.

Die Testabteilung:
https://github.com/janekptacijarabaci/greasemonkey/tree/_testBranch_matchPattern

Ich habe noch keinen Pull-Request gemacht (es ist nicht gut getestet)...

Ich hatte gestern Abend das gleiche Problem mit dem Firefox-Entwickler. GM hat das FBP-Skript aufgrund der beiden @match- Zeilen in seinem Skript mit Parsing-Fehlern entfernt. Ich habe die 2 Zeilen entfernt und konnte das Skript von der Festplatte laden, um es neu zu installieren.
GM fehlte auch ein deaktiviertes Skript beim Neustart vom Update von FF zusammen mit dem Reinheitsskript. Der entfernte deaktivierte wurde ohne Fehler aus der Zwischenablage neu geladen. Zum Glück wurde keines der Skripte aus dem gm_scripts-Ordner entfernt, es wurde nur nicht geladen. Hoffentlich hilft das hier, wenn Sie mich brauchen.
Parse-Fehler bei diesen beiden;
// @match http:// .facebook.com/
// @match https:// .facebook.com/

Beta scheint gut zu funktionieren.

Beta wurde noch nicht aktualisiert. Es wird bald sein.

Am 17. Februar 2017 um 04:24 Uhr, Dana MW Chester [email protected]
schrieb:

Beta scheint gut zu funktionieren.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/greasemonkey/greasemonkey/issues/2480#issuecomment-280539445 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABYyOVjQCE0xIK_k-M2OecXJ6tXrpr0Vks5rdRL1gaJpZM4L-WHI
.

Ich denke, arantius/ Greasemonkey@9cb94670994ea326e81ad6df4ec083d56e595166 behebt dies. Bestätigung wäre schön.

Ich kann das in #2481 erwähnte Profil nicht bestätigen, weil ich keine andere Wahl hatte, als es funktionsfähig zu machen, und es aufkratzen und neu beginnen musste, eine komplette Stundenverschwendung.

Ganz zu schweigen davon, dass das Löschen / Entfernen eines Skripts es anscheinend nicht wirklich entfernt / löscht, auf dem Laufwerk im Profil behält es alles, was keinen Sinn macht, warum es das tut - da ich diese gelöscht habe Skripte aus einem bestimmten Grund, warum sammelst du sie?

Erklärt die Fehler, die auftreten, wenn ein neues Skript denselben Namen hat wie ein altes (gelöscht, aber nicht wirklich verschwunden), das Sie nicht entfernt haben, und verursacht Probleme. Dies sollte wirklich untersucht werden, auch wenn es nicht direkt mit dem hier behandelten Thema zusammenhängt.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen