Fehlermeldung in der utilities.js Zeile 114

  • Wir sprechen vom Code aus Beitrag #13 als Ausgangslage? Dort hast du nämlich jeweils mehrere Scripts in einer Datei. Und zwei verwenden SearchOneOffs. Entsprechend musst du das auch in beiden Scripts umsetzen. Wenn du dir die Zeilennummer aus der Fehlermeldung im letzten Screenshot ansiehst, siehst du auch, dass der Fehler jetzt in Zeile 25 und damit im zweiten Script liegt und nicht länger in Zeile 13 (was vorher Zeile 12 war), was zum ersten Script gehört.

  • Wir sprechen vom Code aus Beitrag #10 als Ausgangslage?

    Das Skript nutze ich:

    Zeile 10 habe ich zusätzlich eingefügt.

    So sieht die Fehlermeldung damit aus:

  • Das ist das dritte Script in dieser Datei. Dann wiederhole die Übung vor der Zeile auch noch einmal. ;)

    Alternativ könnte man wahrscheinlich auch einfach darauf verzichten, drei voneinander isolierte Blöcke auf diese Weise zu machen:

    JavaScript
    (function() {
      /* Code */
    })();

    … und sämtlichen Code in einen Block packen. Dann bräuchte man auch die neu eingefügte Zeile nur ein einziges Mal. Aber die Zeile einfach noch ein drittes Mal einfügen, ist der Weg mit dem geringsten Risiko, zu später Stunde etwas kaputt zu machen. ;)

  • Eine Leerzeile zwischen den Skripten und vielleicht noch jeweils ein Kommentar dazu würde wahrscheinlich zumindest die Übersichtlichkeit verbessern.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Möchtest du für diese vier denn Hilfe?

    Gerne sogar:)

    Ich wollte nur deine Zeit nicht zu sehr in Anspruch nehmen.

    Ok, fangen wir mit dem ersten Skript an:

  • Ein ganz ähnliches Problem, möchte ich behaupten.

    Es wird kein Element mit der ID ExtraConfigMenu-button gefunden, welches du der Variablen menu zuweist. Das Element erstellst du direkt darüber - aber nur unter der Bedingung window.__SSi == "window0". Demnach sollte sämtlicher Code, der auf deine Variable menu zugreift, ebenfalls diese Bedingung prüfen.

  • Dann wäre mir das evtl. sogar aufgefallen, dass es 3 Skripte in einem sind

    Darum habe ich dir den Rat gegeben. Einfach nur in Zukunft daran denken.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Dann Nr. 2:

  • dass das ein Kandidat zum Löschen ist.

    Du hast wohl recht damit, teste es gerade mal ohne das Skript.

    Dann Skript Nr. 3:

  • Verschiebe deine Zeile 56 einfach ganz an den Anfang des Scripts (Zeile 37 zum Beispiel). Du hast das aktuell am Anfang der init()-Funktion. Diese Funktion rufst du in Zeile 205 auf, wenn die Bedingung gBrowserInit.delayedStartupFinished erfüllt ist. Und an der Stelle hast du das Problem, dass gBrowserInit in dem Moment nicht definiert ist, weil es da vermutlich auch wieder in einem anderen Kontext als einem Browserfenster ausgeführt wird. Vor diesem Aufruf musst du das also prüfen.