Bei mir funktioniert das Skript mit der neuen Zeile. Hast du nach der Änderung den Skript-Cache beim Neustart von Firefox geleert?
Offenbar funktionieren alle Benutzerskripte nicht mehr im Nightly
-
milupo -
13. Mai 2023 um 16:51 -
Erledigt
-
-
-
ESMs-werden normalerweise via defineESModuleGetters importiert, defineLazyModuleGetters ist für JSMs. Aber das Script und ob diese Anpassung schon ausreichend ist, habe ich nicht getestet.
-
Es wird erst gar keine Suche gestartet.
Doch nach Eingabe und Enter wird die Suche gestartet und das Suchfeld dann geleert. Was soll denn das Skript noch machen?
-
Hast du nach der Änderung den Skript-Cache beim Neustart von Firefox geleert?
Natööörlich, mit dem RestartScript von Aris
Ich teste jetzt mal Sörens Hinweis...
-
nach Eingabe und Enter wird die Suche gestartet
Hier nicht.
Nach Enter passiert gar nichts.
-
Seltsam. Kein Problem hier. Wenn ich die Suche nicht startet, wird das Feld kurz danach geleert, ansonsten nach Enter. Und zwar ist das irgendwie unabhängig davon, was in Zeile 6 steht. Es ist egal ob dort
XPCOMUtils.defineLazyModuleGetters(lazy, {
oder
XPCOMUtils.defineESModuleGetters(lazy, {
steht.
Wir reden alle vom NIghtly?
-
Wenn ich die Suche nicht startet, wird das Feld kurz danach geleert
Das macht dann ein anderes Skript.
Wir reden alle vom NIghtly?
Ja.
ob diese Anpassung schon ausreichend ist
Leider nicht. Die Suche wird dann zwar wieder gestartet, aber das Feld nicht geleert.
-
Ach du grüne Neune, Asche aufs Haupt. Ich sehe gerade, dass ich dieses Skript ins Thunderbird-Profil gespeichert habe. Aber trotzdem funktioniert es bei mir. Da muss es ja noch mit der JSM-Datei funktionieren. Schaue gleich nach.
Mann wird alt. Ich bitte vielmals um Entschuldigung. *kopfschüttel*
-
Die Suche wird gestartet aber das Suchfeld leert sich nicht... hier noch mal der jetzige Code:
JavaScript
Alles anzeigen/* Suchfeld automatisch leeren */ (function() { const lazy = {}; /* XPCOMUtils,defineLazyModuleGetters(lazy, { FormHistory: "resource://gre/modules/FormHistory.jsm", }); */ XPCOMUtils,defineESModuleGetters(lazy, { FormHistory: "resource://gre/modules/FormHistory.sys.mjs", }); var searchbar = document.getElementById("searchbar"); searchbar.doSearch = function(aData, aWhere, aEngine, aParams, aOneOff) { let textBox = this._textbox; if (aData && !PrivateBrowsingUtils.isWindowPrivate(window) && lazy.FormHistory.enabled) { lazy.FormHistory.update({ op: "bump", fieldname: textBox.getAttribute("autocompletesearchparam"), value: aData, }, { handleError(aError) { Cu.reportError("Saving search to form history failed: " + aError.message); }, }); } let engine = aEngine || this.currentEngine; let submission = engine.getSubmission(aData, null, "searchbar"); let telemetrySearchDetails = this.telemetrySearchDetails; this.telemetrySearchDetails = null; if (telemetrySearchDetails && telemetrySearchDetails.index == -1) { telemetrySearchDetails = null; } const details = { isOneOff: aOneOff, isSuggestion: (!aOneOff && telemetrySearchDetails), selection: telemetrySearchDetails, }; // BrowserSearch.recordSearchInTelemetry(engine, "searchbar", details); let params = { postData: submission.postData, }; if (aParams) { for (let key in aParams) { params[key] = aParams[key]; } } openTrustedLinkIn(submission.uri.spec, "tab", params); this.value = ''; this.currentEngine = this.engines ? this.engines[0] : this._engines[0]; }; }());
-
Ich bitte vielmals um Entschuldigung
Alles ist gut
Mit der alten Bezeichnung funktioniert das Skript auch noch im Nightly.
Nur eben mit der neuen nicht.
Die Suche wird gestartet aber das Suchfeld leert sich nicht.
So ist es leider
-
Vielleicht kann ja Sören Hentzschel noch etwas Licht ins Dunkel bringen..
-
Vielleicht kann ja
ZitatAus privaten Gründen aktuell nur sehr eingeschränkte Supportzeiten!
Eilt ja nicht, noch funktioniert ja die alte Bezeichnung.
-
Vor Montag leider nicht mehr, ich bin auf dem Sprung und muss nochmal ein paar Tage etwas kürzer treten.
-
ein paar Tage etwas kürzer treten.
Mach das bitte auch. Das reale Leben geht immer vor
-
Alles Gute, Sören...
Ich habe gerade etwas Interessantes festgestellt.
Aus einer Sicherung habe ich den Codeteil in das Profil gebracht, nun schaut Euch bitte mal das Komma in Zeile 10 an. Es sieht anders aus, als das in Zeile 6. Ich hatte Zeile 6 bis 8 neu getippt, mit dem Komma meiner Tastatur... und dann ging das Alte Script auch nicht mehr... kann das wirklich am Komma liegen? Und falls ja, wie kriege ich dieses Komma zustande?
JavaScript
Alles anzeigen/* Suchfeld automatisch leeren */ (function() { const lazy = {}; /*XPCOMUtils,defineLazyModuleGetters(lazy, { FormHistory: "resource://gre/modules/FormHistory.jsm", }); */ XPCOMUtils.defineLazyModuleGetters(lazy, { FormHistory: "resource://gre/modules/FormHistory.jsm", }); /* XPCOMUtils,defineESModuleGetters(lazy, { FormHistory: "resource://gre/modules/FormHistory.sys.mjs", }); */ var searchbar = document.getElementById("searchbar"); searchbar.doSearch = function(aData, aWhere, aEngine, aParams, aOneOff) { let textBox = this._textbox; if (aData && !PrivateBrowsingUtils.isWindowPrivate(window) && lazy.FormHistory.enabled) { lazy.FormHistory.update({ op: "bump", fieldname: textBox.getAttribute("autocompletesearchparam"), value: aData, }, { handleError(aError) { Cu.reportError("Saving search to form history failed: " + aError.message); }, }); } let engine = aEngine || this.currentEngine; let submission = engine.getSubmission(aData, null, "searchbar"); let telemetrySearchDetails = this.telemetrySearchDetails; this.telemetrySearchDetails = null; if (telemetrySearchDetails && telemetrySearchDetails.index == -1) { telemetrySearchDetails = null; } const details = { isOneOff: aOneOff, isSuggestion: (!aOneOff && telemetrySearchDetails), selection: telemetrySearchDetails, }; // BrowserSearch.recordSearchInTelemetry(engine, "searchbar", details); let params = { postData: submission.postData, }; if (aParams) { for (let key in aParams) { params[key] = aParams[key]; } } openTrustedLinkIn(submission.uri.spec, "tab", params); this.value = ''; this.currentEngine = this.engines ? this.engines[0] : this._engines[0]; }; }());
-
als das in Zeile 6
Du hast da ein Komma, es muss aber ein Punkt sein.
-
-
Wenn man ohne Brille arbeitet...
-
aber nicht bei unterlassenem Start der Suche
Das macht dieses Skript dann:
JavaScript
Alles anzeigen/* Suchfeld leeren nach 5 Sekunden */ /* Author @aborix */ setTimeout(function() { if (!window.BrowserSearch) return; var searchbar = BrowserSearch.searchBar; if (!searchbar) return; var textbox = searchbar.textbox; var tId; textbox.addEventListener('input', function() { clearTimeout(tId); tId = setTimeout(function() { textbox.value = ''; document.getElementById('PopupSearchAutoComplete').hidePopup(); }, 5000); }); }, 0);
-