Cookies, schrieb ich ja. Ist aber auf allen Seiten so.

userChrome.js Scripte für den Fuchs (Diskussion)
-
Endor -
12. Mai 2015 um 14:19 -
Erledigt
-
-
In Nightly funktioniert das Script zum löschen der Eingabe in der Searchbar nicht mehr. Gibt es eventuell schon eine angepasste Version?
JavaScript
Alles anzeigen/* Suchfeld automatisch leeren */ 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(); }, 30000); }); }, 0);
-
Gibt es eventuell schon eine angepasste Version?
Teste bitte:
JavaScript
Alles anzeigen/* Suchfeld leeren nach 30 Sekunden */ /* Author @aborix */ setTimeout(function() { if (location.href !== "chrome://browser/content/browser.xhtml") return; if (!window.searchbar) return; var searchbar = document.getElementById("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(); }, 30000); }); }, 0);
-
Teste bitte:
Danke, Andreas, jetzt löppt dat.
Werde es mit deinem Script (zweiter Teil) kombinieren, gefällt mir.
-
Zur Erläuterung: BrowserSearch (Zeilen 6-8) gibt es nicht mehr. Siehe
BeitragRE: Suchfeld wird nicht mehr geleert
Ich denke eher, du bist der Zeit voraus. Ich erwarte, dass das Script ab der morgigen Nightly-Version nicht mehr funktioniert.Konkret wird es dann BrowserSearch.searchBar nicht mehr geben. Womit es ersetzt werden muss, steht bereits im zweiten Script von Andreas: document.getElementById('searchbar'). Das kann auch jetzt schon verwendet werden, weil beides das gleiche Element zurückgibt.
Sören Hentzschel4. Februar 2025 um 22:53 -
Danke, Andreas, jetzt löppt dat
Werde es mit deinem Script (zweiter Teil) kombinieren, gefällt mir.
Finde ich ganz praktisch.
BrowserSearch (Zeilen 6-8) gibt es nicht mehr.
Danke
-
Zur Erläuterung: BrowserSearch (Zeilen 6-8) gibt es nicht mehr. Siehe
Danke, milupo, für den Hinweis. In letzter Zeit so viel mit Scripten gearbeitet, da geht dann doch was unter.
Aber hier ist ja immer Hilfe im Angebot.
-
-
diese Stelle im Appmenu.uc.js umzubauen.
Ich kann dir zwar leider nicht helfen, aber was genau möchtest du denn umbauen daran?
Eine Erklärung könnte für andere dann evtl. hilfreich sein.
-
Eine Erklärung könnte für andere dann evtl. hilfreich sein.
Die Experten wissen es ganz bestimmt, denn oncommand in dieser Zeile wird in der Konsole als Fehler ausgegeben.
Nun habe ich es mal so versucht, aber es will nicht funktionieren.
-
Code vernünftig einrücken würde vermutlich bei der Fehlervermeidung helfen. Die schließende geschweifte Klammer fehlt in der vierten Zeile. Die Klammer in Zeile 7 dürfte zur if-Abfrage weiter oben gehören, ausgehend von deinem vorherigen Screenshot. Hättest du den vollständigen Code geteilt, könnte man es mit Sicherheit sagen.
-
Hättest du den vollständigen Code geteilt, könnte man es mit Sicherheit sagen.
userChrome.js/Firefox 135/Appmenu.uc.js at master · Endor8/userChrome.jsSkripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.github.com -
Ich habe das jetzt nicht getestet, aber du musst in Zeile 4 noch }); hinzufügen, denn so fehlen die schließenden Klammern. Zeile 5 hatten wir schon mal in einem anderen Skript, da hat BrokenHeart let element = davorgesetzt.
-
Ich meinte, man müsste deinen vollständigen Code sehen, um mit Sicherheit zu sagen, wozu deine Klammern gehören. Hier jedenfalls der relevante Part aus deinem Link mit deiner Korrektur und korrekter Klammersetzung sowie passender Einrückung. Ersetze die Zeilen 526 bis 534 damit:
JavaScript
Alles anzeigenif (Appmenu.hotkey) { let key = document.createXULElement('key'); key.id = 'key_AppMenuPopup'; key.setAttribute('key', Appmenu.hotkey); if (Appmenu.hotkeyModifier) { key.setAttribute('modifiers', Appmenu.hotkeyModifier); } key.addEventListener('command', () => { document.getElementById('AMpopup').openPopup(); }); document.getElementById('mainKeyset').appendChild(key); }
-
Ganz herzlichen Dank, jetzt funktioniert wieder alles fehlerlos. Das mit den Klammern werde ich nie begreifen, obwohl ich das schon alles erklärt bekommen habe.
Du könnest das ja auch in Dein Script so übernehmen, so werden dann in der Konsole ab v137 keine Fehler mehr angezeigt.
Ich habe das jetzt nicht getestet,
Auch Dir danke, milupo, aber nun ist ja alles geklärt.
-
Das mit den Klammern werde ich nie begreifen, obwohl ich das schon alles erklärt bekommen habe.
Da gibt es nicht viel zu begreifen: Klammern treten immer paarweise auf. Schreibst du eine öffnende Klammer gehört auch eine schließende dazu. Das Problem ist eher, die Übersicht über die Klammern zu behalten. Mit einem guten Editor (z. B. Notepad++) kann man auch nach fehlenden Klammern suchen.
-
Das mit den Klammern werde ich nie begreifen, obwohl ich das schon alles erklärt bekommen habe.
Das ist ein ganz einfaches Prinzip: Jede geöffnete Klammer muss auch wieder geschlossen werden. Wenn die Anzahl der öffnenden Klammern eine andere als die Anzahl der schließenden Klammern ist, kann etwas nicht stimmen. Das gilt für alle Formen von Klammern: (), {}, [].
Und Code sinnvoll einrücken, hilft enorm bei der Lesbarkeit, weil du dann besser siehst, wo die Klammersetzung noch nicht passt. Vergleiche:
Ich würde behaupten, dass wenn eine Klammer fehlen würde, du das im zweiten Beispiel sehr viel schneller erkennst.
Und noch eine Ergänzung: Wenn es nur eine Zeile gibt, die unter einer bestimmten Bedinung gilt, kann man die geschweiften Klammern weglassen. Das war auch hier im Original-Code der Fall. Und dann auch noch falsch eingerückt:
Ich würde die Klammern niemals weglassen, weil das Fehler provoziert. Schreibe es so und es gibt keine Unklarheiten:
-
Das Problem ist eher, die Übersicht über die Klammern zu behalten.
Genau das ist es immer, wie es funktioniert hattest Du mir schon mal vor langer Zeit erläutert (kann ich nicht mehr genau sagen, aber ich glaube Du warst es).
Und Code sinnvoll einrücken, hilft enorm bei der Lesbarkeit, weil du dann besser siehst, wo die Klammersetzung noch nicht passt.
Das ist natürlich sinnvoll, aber beim Kopieren und Einfügen klappt es manchmal nicht so richtig, habe ich festgestellt.
Und noch eine Ergänzung: Wenn es nur eine Zeile gibt, die unter einer bestimmten Bedinung gilt, kann man die geschweiften Klammern weglassen. Das war auch hier im Original-Code der Fall. Und dann auch noch falsch eingerückt:
Wenn man Ahnung davon hat, dann würde ich das auch so sehen, glaube ich zumindest. Aber vielen Dank für die Erklärungen, nur das Umsetzen wird wohl doch schwieriger sein, wie es sich liest. Mit css-Code habe ich mich ja halbwegs angefreundet, aber Scripte sind eine andere Welt.
-
Hallo FuchsFan
Habe ich so geändert. Schau es Dir mal an ob es so passt:userChrome.js/Firefox 135/Appmenu.uc.js at master · Endor8/userChrome.jsSkripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.github.comMfg.
Endor -
Habe ich so geändert.
Getestet, und für gut befunden, Konsole zeigt auch keine Fehler mehr an.
-