1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. FuchsFan

Beiträge von FuchsFan

  • Suchleiste automatisch leeren

    • FuchsFan
    • 13. April 2026 um 18:14
    Zitat von Arsen

    kann man das Script so einstellen, dass der Suchbegriff nach drücken von Enter nicht sofort gelöscht wird? Ev. will man ja noch andere Suchmaschinen befragen, dann spart man sich das erneute eintippen.

    Dann müsstest du mal dieses Script testen, ist auf eigene Gefahr, weil mit KI überarbeitet, und die Betriebserlaubnis hierzu noch nicht im Forum beantragt und genehmigt wurde.

    CSS
    // ==UserScript==
    // @name         Searchbar Auto-Clear + Go-Pfeil (Firefox 150+)
    // @description  Auto-leeren + sichtbarer Go-Pfeil
    // @include      chrome://browser/content/browser.xhtml
    // @async        true
    // @version      2026/03/12
    // ==/UserScript==
    
    (function() {
      const waitingToClear = 15000; // Zeit bis automatisches Löschen (ms) | 0 = deaktiviert
      const lazy = {};
      
      ChromeUtils.defineESModuleGetters(lazy, {
        SearchService: "moz-src:///toolkit/components/search/SearchService.sys.mjs",
      });
    
        // === CSS für Go-Pfeil ===
      if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
        let style = `
          #searchbar-new {
            .urlbar-go-button {
              display: flex !important;
              opacity: 0.8 !important;
              cursor: pointer !important;
              &:hover { 
                opacity: 1 !important; 
              }
              &:not(:hover) { 
                opacity: 0.8 !important; 
              }
            }
          }
        `;
        let sss = Cc["@mozilla.org/content/style-sheet-service;1"]
                    .getService(Ci.nsIStyleSheetService);
        // makeURI ist veraltet → Services.io.newURI benutzen
        let uri = Services.io.newURI(
          "data:text/css;charset=UTF-8," + encodeURIComponent(style)
        );
        if (!sss.sheetRegistered(uri, sss.AGENT_SHEET)) {
          sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
        }
      }
    
    
      // === AUTO-CLEAR + GO-BUTTON ===
      function initSearchbar() {
        let searchbar = window.document.getElementById("searchbar-new");
        if (!searchbar || searchbar.dataset.autoClearAttached) return;
        
        searchbar.dataset.autoClearAttached = "true";
        console.log("✅ Searchbar Auto-Clear + Go-Pfeil aktiviert");
    
        const textbox = searchbar.inputField;
        let timeoutId;
    
        // 1. AUTO-CLEAR nach Timeout
        if (waitingToClear > 0) {
          textbox.addEventListener("input", () => {
            clearTimeout(timeoutId);
            timeoutId = setTimeout(() => {
              if (textbox.value.trim()) {
                textbox.value = "";
                textbox.dispatchEvent(new Event("input", { bubbles: true }));
                console.log("⏰ Auto-Clear aktiviert");
              }
            }, waitingToClear);
          });
        }
    
        // 3. GO-BUTTON Patch
        searchbar.goButton?.addEventListener("click", patchEmptySearch, false);
        textbox.addEventListener("keydown", patchEmptySearch, false);
      }
    
      // === LEER-SUCHE ermöglichen ===
      async function patchEmptySearch(event) {
        if (KeyboardEvent.isInstance(event) && event.keyCode !== KeyEvent.DOM_VK_RETURN)
          return;
    
        let searchbar = window.document.getElementById("searchbar-new");
        if (searchbar.value !== "") return;
    
        if (!event.originalTarget.classList.contains("urlbar-input") &&
            !event.originalTarget.classList.contains("urlbar-go-button"))
          return;
       
        let searchMode = searchbar.searchMode;
        let engine;
        if (!searchMode) {
          engine = await lazy.SearchService.getDefault();
        } else {
          let label = searchMode.engineName;
          engine = await lazy.SearchService.getEngineByName(label);
        }
        
        let where = whereToOpen(event);
        let url = engine.searchForm;
        window.openTrustedLinkIn(url, where);
      }
    
      function whereToOpen(aEvent) {
        let where = "current";
        const newTabPref = Services.prefs.getBoolPref("browser.search.openintab", false);
        
        if (aEvent?.originalTarget.classList.contains("urlbar-go-button")) {
          where = BrowserUtils.whereToOpenLink(aEvent, false, true);
          if (newTabPref && !aEvent.altKey && where == "current" && !gBrowser.selectedTab.isEmpty) {
            where = "tab";
            if ((KeyboardEvent.isInstance(aEvent) && aEvent.ctrlKey) || 
                (MouseEvent.isInstance(aEvent) && aEvent.button == 1))
              where = "tabshifted";
          }
        }
        return where;
      }
    
      // === START ===
      setTimeout(initSearchbar, 1000);
      new MutationObserver(initSearchbar).observe(document, { 
        childList: true, 
        subtree: true 
      });
    })();
    Alles anzeigen
  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 22:01
    Zitat von Sören Hentzschel

    Zumindest ein Punkt ist aber wahr: Niemand verbietet den KI-Einsatz. Aber es muss in jedem Beitrag, der mit Hilfe von KI entstanden ist, darauf hingewiesen werden.

    Das habe ich verstanden, wird aber nicht mehr vorkommen.

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 20:19
    Zitat von Mitleser

    aber das man solche unqualifizierte Lösungen auch noch verbreitet/veröffentlicht und dann auch noch stolz darauf

    Also haltet euch mit solchen Aussagen hinterm Berg. Wenn ihr beide damit Probleme habt, dann geht in euch und tief durchatmen. Thema erledigt!

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 18:12
    Zitat von Horstmann

    Deine Vorlage hat leider den Elchtest nicht bestanden.

    Pech! Siehe Beitrag #6 Ergänzung.

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 17:15
    Zitat von Horstmann

    an Vorlagen würde ich persönlich die erste bevorzugen

    Ja, kannst du. Ich nehme diese:

    JavaScript
    // aboutaboutButton.uc.js
    // öffnet den Dialog about:about
    
    (function() {
      if (!window.gBrowser) return;
    
      let btn_id = 'about-about-button';
    
      try {
        CustomizableUI.createWidget({
          id: btn_id,
          defaultArea: CustomizableUI.AREA_NAVBAR,
          label: "about:about",
          tooltiptext: "Dialog about:about aufrufen",
          onCreated: (this_button) => {
            this_button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity'; 
            this_button.style.listStyleImage = 'url("file:///C:/FoxIcons/a2.ico")';
            this_button.style.minWidth = 'fit-content';
          }
        });
      } catch (e) {}
    
      function addClickListener(btn) {
        if (btn.hasAttribute('listener-added')) return; 
        btn.setAttribute('listener-added', 'true');
        btn.addEventListener("click", event => {
          if (event.button === 0) openTrustedLinkIn("about:about", "tab");
        });
      }
    
      let observer = new MutationObserver(() => {
        let btn = document.getElementById(btn_id);
        if (btn && !btn.hasAttribute('listener-added')) {
          addClickListener(btn);
        }
      });
      observer.observe(document.documentElement, { childList: true, subtree: true });
    
      let btn = document.getElementById(btn_id);
      if (btn) addClickListener(btn);
    })();
    Alles anzeigen

    Geändert für Bestehen Elchtest.

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 15:34
    Zitat von Dharkness

    auch hier ein Dankeschön, funktioniert einwandfrei

    :thumbup:

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • FuchsFan
    • 28. März 2026 um 15:29
    JavaScript
    //  Button_aboutabout.uc.js
    //  öffnet Dialog about:about
    
    (function() {
    
      if (!window.gBrowser)
    	return;
    
          // Start User Einstellungen
          
          let btn_id = 'about_button';  // Button #id
          const btn_icon = 'a3.png';  // Name+Dateiendung des Symbols
          const iconPath = 'file:///C:/FoxIcons2/';  // Pfad zum Ordner der das Icon beinhaltet
          const ImagePath = iconPath + btn_icon;  // Kompletter Pfad zum Icon =>
          const btn_label = 'about:about';  // Bezeichnung
          const btn_tooltiptext = 'Dialog about:about öffnen';  // Tooltip
          
          // User Einstellungen Ende
    
          // Button
        	try {
              CustomizableUI.createWidget({
                 id: btn_id,
                 defaultArea: CustomizableUI.AREA_NAVBAR,
                 label: btn_label,
                 tooltiptext: btn_tooltiptext,
                 onCreated: (this_button) => {
                    this_button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
                    this_button.style.listStyleImage = 'url("' + ImagePath + '")';
                    this_button.style.minWidth = 'fit-content';
                 }
              });
        	} catch(e) {}
    
          function click_button() {
              document.getElementById(btn_id).addEventListener('click', event => {
                  if (event.button === 0) {
    				 openTrustedLinkIn("about:about", "tab");
                  }
    			});
              };
    
          if (window.readyState !== "loading") {
        		setTimeout(click_button, 500);
            }
          else {
        	  window.addEventListener( "DOMContentLoaded", click_button );
            };
          window.addEventListener('aftercustomization', () => {
        		setTimeout(() => click_button(), 100)
            });
    
    })();
    Alles anzeigen
  • Das Script "Button_Verzeichnisse.uc.js" funktioniert hier auch nicht

    • FuchsFan
    • 28. März 2026 um 15:27

    Dharkness

    Ich habe mal mein Script KI übergeben, mach das beste für die Zukunft. Funktioniert von 149 bis 151.

    JavaScript
    // ButtonInstallationsOrdner.uc.js
    (function () {
      if (!window.gBrowser) return;
    
      // User Einstellungen
      let btn_id = 'installation_buttonplus';
      const btn_icon = 'ordner2.png';
      const iconPath = 'file:///C:/FoxIcons2/';
      const ImagePath = iconPath + btn_icon;
    
      const btn_label = 'Ordner öffnen';
      const btn_tooltiptext = 'Links Installationsordner / Mitte Profilordner / Rechtsklick chrome-Ordner';
    
      function hookNode(node) {
        if (!node || node.dataset.installBtnHooked === "1") return;
        node.dataset.installBtnHooked = "1";
    
        try {
          node.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
          node.style.listStyleImage = 'url("' + ImagePath + '")';
          node.style.minWidth = 'fit-content';
        } catch (e) {}
    
        // Middle
        node.addEventListener('auxclick', (event) => {
          if (event.button !== 1) return;
          Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
          event.preventDefault();
          event.stopPropagation();
        }, true);
    
        // Right
        node.addEventListener('contextmenu', (event) => {
          if (event.button !== 2) return;
          Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
          event.preventDefault();
          event.stopPropagation();
        }, true);
    
        // Robust Fallback: mousedown (fängt teils Fälle besser ab als click)
        node.addEventListener('mousedown', (event) => {
          if (event.button === 1) {
            Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
            event.preventDefault();
            event.stopPropagation();
          } else if (event.button === 2) {
            Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
            event.preventDefault();
            event.stopPropagation();
          }
        }, true);
    
        // Fallback (selten, aber gratis): click mit button==1/2
        node.addEventListener('click', (event) => {
          if (event.button === 1) {
            Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
            event.preventDefault();
            event.stopPropagation();
          } else if (event.button === 2) {
            Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
            event.preventDefault();
            event.stopPropagation();
          }
        }, true);
      }
    
      function attachToWidgetNow() {
        try {
          const widget = CustomizableUI.getWidget(btn_id);
          if (!widget || !widget.instances) return;
    
          for (const inst of widget.instances) {
            hookNode(inst?.node);
          }
        } catch (e) {}
      }
    
      // 1) Widget erstellen: Left über onCommand
      try {
        CustomizableUI.createWidget({
          id: btn_id,
          defaultArea: CustomizableUI.AREA_NAVBAR,
          label: btn_label,
          tooltiptext: btn_tooltiptext,
          onCommand: () => {
            if (typeof uProfMenu !== "undefined" && uProfMenu?.prefDirOpen) {
              uProfMenu.prefDirOpen('CurProcD');
            }
          }
        });
      } catch (e) {}
    
      // 2) Icon/Hook sobald das Widget Nodes hat (auch für spätere Instanzen)
      const listener = {
        onWidgetAdded: (aWidgetId) => {
          if (aWidgetId !== btn_id) return;
          attachToWidgetNow();
        }
      };
    
      try {
        CustomizableUI.addListener(listener);
      } catch (e) {}
    
      // 3) Wichtig: sofort und nach Customizing erneut hooken
      if (document.readyState !== "loading") {
        setTimeout(attachToWidgetNow, 0);
      } else {
        window.addEventListener("DOMContentLoaded", () => setTimeout(attachToWidgetNow, 0), { once: true });
      }
    
      window.addEventListener('aftercustomization', () => {
        setTimeout(attachToWidgetNow, 150);
      });
    })();
    Alles anzeigen
  • Das Script "Button_Verzeichnisse.uc.js" funktioniert hier auch nicht

    • FuchsFan
    • 28. März 2026 um 15:02
    Zitat von Dharkness

    Das Script funktioniert, Dankeschön.

    Dharkness Gerne doch, hast du aber darauf geachtet, ich habe es bereinigt noch einmal eingefügt.

  • Das Script "Button_Verzeichnisse.uc.js" funktioniert hier auch nicht

    • FuchsFan
    • 28. März 2026 um 14:42

    Teste mal bitte. Rechtsklick habe ich noch hinzugefügt.

    JavaScript
    // ButtonInstallationsOrdner.uc.js
    // Linksklick öffnen des Ordners "Firefox"  / if (event.button === 0)
    // Mittelklick öffnet den Profilordner / if (event.button === 1)
    // Rechtsklick öffnet den chrome-Ordner / if (event.button === 2)	
    
    (function() {
    
      if (!window.gBrowser)
    	return;
    
          // Start User Einstellungen
          
          let btn_id = 'installation_buttonplus';  // Button #id
          const btn_icon = 'ordner2.png';  // Name+Dateiendung des Symbols
          const iconPath = 'file:///C:/FoxIcons2/';  // Pfad zum Ordner der das Icon beinhaltet
          const ImagePath = iconPath + btn_icon;  // Kompletter Pfad zum Icon =>
          const btn_label = 'Ordner öffnen';  // Bezeichnung
          const btn_tooltiptext = 'Links Installationsordner / Mitte Profilordner / Rechtsklick chrome-Ordner'  ;  // Tooltip
          
          // User Einstellungen Ende
    
          // Button
        	try {
              CustomizableUI.createWidget({
                 id: btn_id,
                 defaultArea: CustomizableUI.AREA_NAVBAR,
                 label: btn_label,
                 tooltiptext: btn_tooltiptext,
                 onCreated: (this_button) => {
                    this_button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
                    this_button.style.listStyleImage = 'url("' + ImagePath + '")';
                    this_button.style.minWidth = 'fit-content';
                 }
              });
        	} catch(e) {}
    
          function click_button() {
              document.getElementById(btn_id).addEventListener('click', event => {
                  if (event.button === 0) {
    				 uProfMenu.prefDirOpen('CurProcD');
    		        }
    		      if (event.button == 1) {
                     event.target.ownerGlobal.Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
                    }
    			  if (event.button == 2) {
                     Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
                   }
    	
    			});
              };
    
          if (window.readyState !== "loading") {
        		setTimeout(click_button, 500);
            }
          else {
        	  window.addEventListener( "DOMContentLoaded", click_button );
            };
          window.addEventListener('aftercustomization', () => {
        		setTimeout(() => click_button(), 100)
            });
    
    })();
    Alles anzeigen
  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 28. März 2026 um 11:19

    geldhuegel

    Das wollte hier auch nicht funktionieren, nun habe ich auch mal versucht, und das ist das Ergebnis. Wenn es jetzt bei dir auch laufen sollte, dann kannst du die Farben anpassen, dafür habe ich extra die Klarnamen eingebaut, so leichter zu finden. Das Ganze in die userChrome.css.

    CSS
    /* ===== Popup Container Searchbar-New ===== */
        #urlbar-results.urlbarView-results{
          border: 2px solid magenta !important;
          border-radius: 5px !important;
    	  padding: 5px !important;
    	  margin: 0 6px 6px 6px !important;
          box-shadow: none !important;
          overflow: hidden !important;
    	}
    
        /* ===== im Popup die Button (Item) ===== */
        #urlbar-results.urlbarView-results div.urlbarView-row {
          padding: 0 !important;
          min-height: 24px !important;
    	  max-height: 24px !important;
    	  background-color: lightyellow !important;
    	  margin: 1px 0 0 0 !important;
    	  border: 1px solid grey !important;
    	  border-radius: 0 !important;
    	  color: blue !important;
          display: flex !important;
          align-items: center !important;
        }
    	
    	#urlbar-results.urlbarView-results div.urlbarView-row:hover {
    	  background-color: AliceBlue !important;
          color: brown !important;	  
    	}  
    Alles anzeigen
  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 27. März 2026 um 08:45
    Zitat von geldhuegel

    Offtopic: Die neue Anzeige der Suchergebnisse ist grausig.

    Es ging nur um die Funktionsweise des Skriptes, für das Popup-Menü muss natürlich mit css-Code eine Anpassung vorgenommen werden.

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 17:03

    Bei dem Script aus #2 habe ich jetzt (wo ich weiß es funktioniert) Anpassungen vorgenommen. Den Button mit in das Script für für Änderungen eingebaut. So sieht es i.M. aus:

    ...das Script dazu:

    Code
    // ==UserScript==
    // @name         ShowSearchBarHistoryByClick_FF149.uc.js
    // @description  Zeigt den Suchverlauf per Button in der Suchleiste (FF149+)
    // @charset      UTF-8
    // @include      main
    // @version      1.1.0
    // ==/UserScript==
    
    (function () {
      "use strict";
    
      const BTN_ID = "searchbar-history-dropmarker";
      const createButton = true;
    
      // Prefs
      const noLimitResult = true;
      const timeSeries = true;
    
      applySearchPrefs();
    
      if (window.gBrowserInit?.delayedStartupFinished) {
        init();
      } else {
        const obs = {
          observe(subject, topic) {
            if (topic === "browser-delayed-startup-finished" && subject === window) {
              Services.obs.removeObserver(obs, topic);
              init();
            }
          },
        };
        Services.obs.addObserver(obs, "browser-delayed-startup-finished");
      }
    
      window.addEventListener(
        "aftercustomization",
        () => window.setTimeout(installButton, 0),
        false
      );
    
      function init() {
        injectArrowCSS(); // <- neu
        installButton();
      }
    
      function getSearchBar() {
        return document.getElementById("searchbar-new") || document.getElementById("searchbar");
      }
    
      function getSearchInput(bar) {
        if (!bar) return null;
        return bar?._textbox || bar?.inputField || bar;
      }
    
      function injectArrowCSS() {
        const STYLE_ID = "searchbar-history-arrow-css";
        if (document.getElementById(STYLE_ID)) return;
    
        const style = document.createElement("style");
        style.id = STYLE_ID;
    
        // Pfeil nach unten
        style.textContent = `
          #${BTN_ID}::before {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
    
            width: 0;
            height: 0;
    		
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
            border-top: 7px solid #222;
    
            pointer-events: none;
            z-index: 2;
          }
    
          #${BTN_ID}:hover::before {
            border-top-color: #000;
          }
        `;
    
        document.documentElement.appendChild(style);
      }
    
      function styleButton(btn) {
        btn.style.MozAppearance = "none";
        btn.style.appearance = "none";
    
        btn.style.width = "16px";
        btn.style.height = "16px";
        btn.style.minWidth = "16px";
        btn.style.minHeight = "16px";
    
        btn.style.padding = "0";
        btn.style.margin = "6px 4px 0px 0px";
        btn.style.boxSizing = "border-box";
    
        btn.style.backgroundColor = "white";
        btn.style.border = "1px solid #555";
        btn.style.borderRadius = "50px";
    
        // Wichtig für ::before
        btn.style.position = "relative";
        btn.style.overflow = "visible";
    
        btn.style.display = "flex";
        btn.style.alignItems = "center";
        btn.style.justifyContent = "center";
    
        btn.style.pointerEvents = "auto";
        btn.style.zIndex = "100";
        btn.style.transform = "translateZ(0)";
      }
    
      function installButton() {
        if (!createButton) return;
    
        const bar = getSearchBar();
        if (!bar) {
          window.setTimeout(installButton, 300);
          return;
        }
    
        let btn = document.getElementById(BTN_ID);
        if (!btn) {
          btn = document.createXULElement("toolbarbutton");
    
          btn.setAttribute("id", BTN_ID);
          btn.setAttribute(
            "class",
            "toolbarbutton-1 chromeclass-toolbar-additional urlbar-page-action"
          );
    
          // <- entfernt: image/Icon, weil wir den Pfeil per CSS zeichnen
          btn.setAttribute("tooltiptext", "Suchverlauf anzeigen");
          btn.setAttribute("removable", "true");
          btn.setAttribute("cui-areatype", "toolbar");
    
          styleButton(btn);
    
          btn.addEventListener(
            "mousedown",
            (ev) => {
              ev.preventDefault();
              ev.stopPropagation();
            },
            true
          );
    
          btn.addEventListener(
            "click",
            (ev) => {
              ev.preventDefault();
              ev.stopPropagation();
              showHistory();
            },
            false
          );
    
          btn.style.marginInlineStart = "4px";
          btn.style.order = "9999";
        }
    
        const legacyGoContainer = bar.querySelector?.(".search-go-container");
        if (legacyGoContainer) {
          if (btn.parentNode !== legacyGoContainer) legacyGoContainer.appendChild(btn);
        } else {
          const goButton = bar.querySelector?.(".urlbar-go-button");
          if (goButton && goButton.parentNode) {
            const parent = goButton.parentNode;
            if (btn.parentNode !== parent) {
              parent.insertBefore(btn, goButton.nextSibling);
            } else if (btn.previousSibling !== goButton) {
              parent.insertBefore(btn, goButton.nextSibling);
            }
          } else if (btn.parentNode !== bar) {
            bar.appendChild(btn);
          }
        }
    
        if (noLimitResult) {
          const input = getSearchInput(bar);
          if (input?.popup) input.popup.setAttribute("nomaxresults", "true");
        }
      }
    
      function showHistory() {
        const bar = getSearchBar();
        if (!bar) return;
    
        const input = getSearchInput(bar);
        if (!input) return;
    
        if (typeof input.showHistoryPopup === "function") {
          try {
            const old = input.value || "";
            input.value = "";
            input.showHistoryPopup();
            input.value = old;
          } catch (ex) {
            console.error("showHistoryPopup failed:", ex);
          }
          return;
        }
    
        try {
          const oldValue = input.value || "";
          input.value = "";
    
          if (typeof input.focus === "function") input.focus();
    
          const down = new KeyboardEvent("keydown", {
            key: "ArrowDown",
            code: "ArrowDown",
            keyCode: 40,
            which: 40,
            bubbles: true,
            cancelable: true,
          });
    
          input.dispatchEvent(down);
          input.value = oldValue;
        } catch (ex) {
          console.error("ShowSearchBarHistoryByClick (fallback) error:", ex);
        }
      }
    
      function applySearchPrefs() {
        if (timeSeries) {
          setPref("browser.formfill.bucketSize", "int", -1);
          setPref("browser.formfill.maxTimeGroupings", "int", -1);
          setPref("browser.formfill.timeGroupingSize", "int", -1);
        } else {
          clearPref("browser.formfill.bucketSize");
          clearPref("browser.formfill.maxTimeGroupings");
          clearPref("browser.formfill.timeGroupingSize");
        }
    
        if (noLimitResult) {
          setPref("browser.urlbar.recentsearches.maxResults", "int", 9999);
        } else {
          clearPref("browser.urlbar.recentsearches.maxResults");
        }
      }
    
      function setPref(aPrefString, aPrefType, aValue) {
        try {
          switch (aPrefType) {
            case "int":
              return Services.prefs.setIntPref(aPrefString, parseInt(aValue, 10));
            case "str":
              return Services.prefs.setStringPref(aPrefString, String(aValue));
            case "bool":
            default:
              return Services.prefs.setBoolPref(aPrefString, !!aValue);
          }
        } catch (e) {}
        return null;
      }
    
      function clearPref(aPrefString) {
        try {
          Services.prefs.clearUserPref(aPrefString);
        } catch (e) {}
      }
    })();
    Alles anzeigen
  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 14:56

    Übrigens habe ich jetzt festgestellt, das Script aus #2 funktioniert auch, aber es erstellt in der Searchbar den Button, der dort im Bild angezeigt wird.

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 14:41
    Zitat von 2002Andreas

    Ihr immer mit euren Basteleien am Firefox :saint:

    Echt schlimm manchmal.;):)

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 14:32

    Das war (ist) das Problem.

    CSS
    /*** Popup-Menü verhindert bei Suche über Adressfeld ***/
    
    .urlbarView {
        display: none !important;
    }
  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 14:08
    Zitat von 2002Andreas

    wer oder was hatte es denn auf false gestellt

    Du kannst Fragen stellen;). Ich nicht, denn es ist ja in allen meinen Profilen auf false. Wenn du aber so fragst, dann muss ja eine Einstellung im Fox das bewirkt haben. Keine Ahnung!:/

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 13:55
    Zitat von Sören Hentzschel

    Die Meldung besagt, dass browser.formfill.enable nicht auf true steht.

    Sören Hentzschel

    :) Auf true gestellt, und jetzt funktioniert es hier auch. Danke!

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 13:51

    Hat das auch damit zu tun? Standard ist wohl false.

    browser.search.suggest.enabled → true

    browser.urlbar.suggest.searches → true.

  • Script: ShowSearchBarHistroryByClick.uc.js

    • FuchsFan
    • 26. März 2026 um 13:44

    Ja, und hier die Batterie an Fehlern:

    Error: Form history is disabled, only remove operations are allowed
    update resource://gre/modules/FormHistory.sys.mjs:1075
    addToFormHistory moz-src:///browser/components/urlbar/UrlbarUtils.sys.mjs:1243
    pickResult chrome://browser/content/urlbar/UrlbarInput.mjs:1704
    pickElement chrome://browser/content/urlbar/UrlbarInput.mjs:1386
    handleNavigation chrome://browser/content/urlbar/UrlbarInput.mjs:1126
    handleCommand chrome://browser/content/urlbar/UrlbarInput.mjs:1063
    _on_click chrome://browser/content/urlbar/UrlbarInput.mjs:4931
    handleEvent chrome://browser/content/urlbar/UrlbarInput.mjs:1024

Unterstütze uns!

Jährlich (2026)

33,3 %

33,3% (258,24 von 775 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon