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. Endor

Beiträge von Endor

  • Der Glückwunsch-Thread

    • Endor
    • 29. Juli 2026 um 11:51

    Hallo AngelOfDarkness .
    Wenn auch nachträglich alles alles Gute zum Geburtstag.
    Vor allem viel Gesundheit, Glück und Wohlergehen wünsche
    ich Dir von ganzen Herzen.


    Road-Runner

    Alles alles Gute zum Geburtstag.
    Viel Gesundheit, Glück und Wohlergehen wünsche
    ich Dir von ganzen Herzen .

    Mfg.
    Endor

  • JavaScript in der Nightly 155.0a1 (2026-07-28)

    • Endor
    • 29. Juli 2026 um 11:37

    false ist in diesem Fall gut.
    false sagt hier das unsichere laden von subscripts wird nicht erlaubt.
    Mit true wäre es erlaubt.

    Ich habe mal die von Alice verlinkten Dateien für den loader getestet.
    Das funktioniert aber nur mit Verwendung der userChrome.js Datei von Alice
    mit integriertem Subscriptloader. Mit unserer userChrome.js Datei funktioniert
    es hier nicht.

    Mfg.
    Endor

  • JavaScript in der Nightly 155.0a1 (2026-07-28)

    • Endor
    • 29. Juli 2026 um 10:40

    Vorläufige Lösung:

    security.allow_unsafe_subscript_loads auf true setzen.

    Nach Neustart funktioniert es hier wieder.

    Hier gefunden: https://bugzilla.mozilla.org/show_bug.cgi?id=2058812

    Mfg.
    Endor

  • JavaScript in der Nightly 155.0a1 (2026-07-28)

    • Endor
    • 29. Juli 2026 um 10:24

    Hier geht im Nightly auch kein Script.
    Das müsste eventuell damit zu tun haben:

    1974213 - Don't allow file: and jar: schemes in Services.scriptloader.loadSubScript
    RESOLVED (tschuster) in Core - DOM: Security. Last updated 2026-07-28.
    bugzilla.mozilla.org

    Alice hat da schon etwas gemacht, ob das für uns hilfreich ist kann ich nicht sagen.

    userChrome.js/155 at master · alice0775/userChrome.js
    Contribute to alice0775/userChrome.js development by creating an account on GitHub.
    github.com

    Mfg.
    Endor

  • 3 Strich Menü -> Lesezeichen verwalten, Fabe ändern ?

    • Endor
    • 17. Juli 2026 um 19:47

    Gerne.

    Mfg.
    Endor

  • 3 Strich Menü -> Lesezeichen verwalten, Fabe ändern ?

    • Endor
    • 17. Juli 2026 um 13:43
    Code
    user_pref("ui.popup.disable_autohide",false);

    Das sollte passen.
    Mfg.
    Endor

  • In memoriam

    • Endor
    • 14. Juli 2026 um 13:31

    R.I.P.

    Mfg.
    Endor

  • Firefox 115.37.0 32 Bit – Whatsapp Web funktioniert nicht mehr

    • Endor
    • 14. Juli 2026 um 11:51

    Hallo Fuchsi.

    Was Office 2010 und Adobe betrifft, da kannst Du ohne Sorgen das
    Update von Windows 7 nach Windows 10 machen. Habe ich hier auch
    gemacht. Und keinerlei Probleme nachher bemerkt oder gehabt.

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 10. Juli 2026 um 12:07

    Thank you jizz.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 10. Juli 2026 um 11:42

    Gerne doch!:)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 10. Juli 2026 um 08:40
    Zitat von FuchsFan

    mit einer Ausnahme bei Lesezeichen.

    In dieser Version funktioniert Lesezeichen jetzt auch:

    JavaScript
    // ==UserScript==
    // @name        MenubarReplaceWithButton.uc.js
    // @description Hauptmenü durch Schaltflächen ersetzen
    // @author      unknown
    // @version     0.1.3
    // @include     main
    // @note        20260705 Menüleiste der ersten Ebene erstellt keinen Platzhalterknoten mehr für menu-iconic-left.
    // @note        20260705 Menüleiste wurde in eine Menüstruktur ohne Symbole geändert, und der Menü-Symbol-Knoten wurde entfernt.
    // ==/UserScript==
    
    (function () {
        if (location != "chrome://browser/content/browser.xhtml") return;
    
        const BUTTON_ID = "main-menubar_button";
        const POPUP_ID = "main-menubar_popup";
    
        try {
            CustomizableUI.createWidget({
                id: BUTTON_ID,
                type: "custom",
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild(aDocument) {
                    let toolbaritem = aDocument.createXULElement("toolbarbutton");
                    setButtonAttributes(toolbaritem);
                    return toolbaritem;
                },
            });
        } catch (e) {}
    
        window.addEventListener("MozAfterPaint", init, { once: true });
    
        function init() {
            let mainMenuBarButton = document.getElementById(BUTTON_ID);
            let menubar = document.getElementById("main-menubar");
            if (!mainMenuBarButton || !menubar) return;
    
            setButtonAttributes(mainMenuBarButton);
    
            let menupopup = document.getElementById(POPUP_ID);
            if (!menupopup) {
                menupopup = document.createXULElement("menupopup");
                menupopup.setAttribute("id", POPUP_ID);
                menupopup.setAttribute("position", "after_start");
            }
    
            if (menupopup.parentNode !== mainMenuBarButton) {
                mainMenuBarButton.append(menupopup);
            }
            menupopup.removeAttribute("onpopupshowing");
            menupopup.removeAttribute("onpopuphiding");
    
            moveMenubarMenus(menubar, menupopup);
            installPopupHandlers(mainMenuBarButton, menupopup);
        }
    
        function setButtonAttributes(toolbaritem) {
            let label = Services.locale.appLocaleAsBCP47.includes("zh")
                ? "Hauptmenü"
                : "Menüleiste";
            let props = {
                id: BUTTON_ID,
                class: "toolbarbutton-1 chromeclass-toolbar-additional",
                removable: false,
                label,
                tooltiptext: label,
                style: 'list-style-image: url("chrome://global/skin/icons/more.svg");',
                type: "menu",
            };
            for (let p in props) {
                toolbaritem.setAttribute(p, props[p]);
            }
            toolbaritem.removeAttribute("popup");
        }
    
        function moveMenubarMenus(menubar, menupopup) {
            let menus = Array.from(menubar.childNodes).filter(node => node.nodeName === "menu");
            for (let menu of menus) {
                normalizeTopLevelMenu(menu);
                menupopup.append(menu);
            }
        }
    
        function normalizeTopLevelMenu(menu) {
            menu.removeAttribute("class");
    
            let menutxt = menu.firstChild;
            if (!menutxt?.classList?.contains("menubar-text")) return;
    
            menutxt.classList.remove("menubar-text");
            menutxt.classList.add("menu-text");
            menutxt.setAttribute("flex", "1");
    
            for (let child of Array.from(menu.children)) {
                if (
                    child.classList?.contains("menu-iconic-left") ||
                    child.classList?.contains("menu-icon")
                ) {
                    child.remove();
                }
            }
    
            if (!menutxt.nextElementSibling?.classList?.contains("menu-accel-container")) {
                menutxt.after(MozXULElement.parseXULToFragment(`
    <hbox class="menu-accel-container" anonid="accel" aria-hidden="true">
        <label class="menu-iconic-accel"/>
    </hbox>
    <hbox align="center" class="menu-right" aria-hidden="true">
        <image/>
    </hbox>
                `));
            }
        }
    
        function installPopupHandlers(mainMenuBarButton, menupopup) {
            if (menupopup._menubarReplaceWithButtonInstalled) return;
            menupopup._menubarReplaceWithButtonInstalled = true;
    
            mainMenuBarButton.addEventListener("dragover", () => {
                mainMenuBarButton.openMenu(true);
            });
    
            mainMenuBarButton.addEventListener("dragleave", event => {
                if (event.relatedTarget && !event.relatedTarget.closest("menupopup")) {
                    mainMenuBarButton.openMenu(false);
                }
            });
    
            window.addEventListener(
                "keydown",
                event => {
                    if (
                        event.getModifierState("Shift") ||
                        event.getModifierState("Control") ||
                        event.getModifierState("Meta") ||
                        (event.key !== "Alt" && event.key !== "F10")
                    ) {
                        return;
                    }
    
                    event.stopPropagation();
                    event.preventDefault();
                    if (event.repeat) return;
    
                    if (menupopup.state === "open") {
                        mainMenuBarButton.openMenu(false);
                    } else {
                        mainMenuBarButton.openMenu(true);
                    }
                },
                true
            );
    
            menupopup.addEventListener("popupshowing", function (event) {
                if (event.target === menupopup) {
                    mainMenuBarButton.setAttribute("open", "true");
                }
    
                if (AppConstants.platform != "macosx") {
                    if (event.target.parentNode?.parentNode == this) {
                        this.setAttribute(
                            "openedwithkey",
                            event.target.parentNode.openedWithKey
                        );
                    }
                }
    
                handlePopupShowing(event);
            });
    
            menupopup.addEventListener("popuphiding", event => {
                if (event.target === menupopup) {
                    mainMenuBarButton.removeAttribute("open");
                }
            });
    
            menupopup.addEventListener("command", handleCommand);
    
            document
                .getElementById("menu_EditPopup")
                ?.addEventListener("popuphidden", () => {
                    updateEditUIVisibility();
                });
        }
    
        function handleCommand(event) {
            switch (event.target.id) {
                case "menu_preferences":
                case "menu_settings":
                    openPreferences(undefined);
                    break;
    
                case "menu_pageStyleNoStyle":
                    gPageStyleMenu.disableStyle();
                    break;
                case "menu_pageStylePersistentOnly":
                    gPageStyleMenu.switchStyleSheet(null);
                    break;
                case "repair-text-encoding":
                    BrowserCommands.forceEncodingDetection();
                    break;
                case "enterFullScreenItem":
                case "exitFullScreenItem":
                    BrowserCommands.fullScreen();
                    break;
                case "documentDirection-swap":
                    gBrowser.selectedBrowser.sendMessageToActor(
                        "SwitchDocumentDirection",
                        {},
                        "SwitchDocumentDirection",
                        "roots"
                    );
                    break;
    
                case "sync-tabs-menuitem":
                    gSync.openSyncedTabsPanel();
                    break;
                case "hiddenTabsMenu":
                    gTabsPanel.showHiddenTabsPanel(event, "hidden-tabs-menuitem");
                    break;
                case "sync-setup":
                case "sync-enable":
                case "sync-unverifieditem":
                    gSync.openPrefs("menubar");
                    break;
                case "sync-syncnowitem":
                    gSync.doSync(event);
                    break;
                case "sync-reauthitem":
                    gSync.openSignInAgainPage("menubar");
                    break;
                case "menu_openFirefoxView":
                    FirefoxViewHandler.openTab();
                    break;
                case "hiddenUndoCloseWindow":
                    SessionWindowUI.undoCloseWindow(0);
                    break;
    
                case "menu_openHelp":
                    openHelpLink("firefox-help");
                    break;
                case "menu_layout_debugger":
                    toOpenWindowByType(
                        "mozapp:layoutdebug",
                        "chrome://layoutdebug/content/layoutdebug.xhtml"
                    );
                    break;
                case "feedbackPage":
                    openFeedbackPage();
                    break;
                case "helpSafeMode":
                    safeModeRestart();
                    break;
                case "troubleShooting":
                    openTroubleshootingPage();
                    break;
                case "menu_HelpPopup_reportPhishingtoolmenu":
                    openUILink(gSafeBrowsing.getReportURL("Phish"), event, {
                        triggeringPrincipal:
                            Services.scriptSecurityManager.createNullPrincipal({}),
                    });
                    break;
                case "menu_HelpPopup_reportPhishingErrortoolmenu":
                    gSafeBrowsing.reportFalseDeceptiveSite();
                    break;
                case "helpSwitchDevice":
                    openSwitchingDevicesPage();
                    break;
                case "aboutName":
                    openAboutDialog();
                    break;
                case "helpPolicySupport":
                    openTrustedLinkIn(Services.policies.getSupportMenu().URL.href, "tab");
                    break;
    
                case "menu_setAsDefault":
                    if (AppConstants.platform == "macosx") {
                        Glean.browserApplicationmenu.setAsDefault.record();
                        ShellService.setAsDefault().catch(async _ => {});
                    }
                    break;
            }
        }
    
        function handlePopupShowing(event) {
            switch (event.target.id) {
                case "menu_FilePopup":
                    gFileMenu.onPopupShowing(event);
                    break;
                case "menu_newUserContextPopup":
                    createUserContextMenu(event);
                    break;
                case "menu_EditPopup":
                    updateEditUIVisibility();
                    break;
                case "view-menu-popup":
                    ToolbarContextMenu.onViewToolbarsPopupShowing(event);
                    break;
                case "pageStyleMenuPopup":
                    gPageStyleMenu.fillPopup(event.target);
                    break;
                case "historyMenuPopup":
                    if (!event.target.parentNode._placesView) {
                        new HistoryMenu(event);
                    }
                    window.AIWindow?.appMenu?.(event, window);
                    break;
                case "historyUndoPopup":
                    document
                        .getElementById("history-menu")
                        ._placesView.populateUndoSubmenu();
                    break;
                case "historyUndoWindowPopup":
                    document
                        .getElementById("history-menu")
                        ._placesView.populateUndoWindowSubmenu();
                    break;
                case "bookmarksMenuPopup":
                    BookmarkingUI.onMainMenuPopupShowing(event);
                    if (!event.target.parentNode._placesView) {
                        new PlacesMenu(
                            event,
                            `place:parent=${PlacesUtils.bookmarks.menuGuid}`
                        );
                    }
                    break;
                case "bookmarksToolbarFolderPopup":
                    if (!event.target.parentNode._placesView) {
                        new PlacesMenu(
                            event,
                            `place:parent=${PlacesUtils.bookmarks.toolbarGuid}`
                        );
                    }
                    break;
                case "otherBookmarksFolderPopup":
                    if (!event.target.parentNode._placesView) {
                        new PlacesMenu(
                            event,
                            `place:parent=${PlacesUtils.bookmarks.unfiledGuid}`
                        );
                    }
                    break;
                case "mobileBookmarksFolderPopup":
                    if (!event.target.parentNode._placesView) {
                        new PlacesMenu(
                            event,
                            `place:parent=${PlacesUtils.bookmarks.mobileGuid}`
                        );
                    }
                    break;
                case "menu_HelpPopup":
                    buildHelpMenu();
                    break;
                case "menu_ProfilesPopup":
                    gProfiles.onPopupShowing(event);
                    break;
            }
        }
    })();
    Alles anzeigen

    Quelle: https://github.com/benzBrake/Fire…ithButton.uc.js

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 9. Juli 2026 um 19:22

    R.I.P.

  • BackupProfile.uc.js - div. Fragen dazu

    • Endor
    • 8. Juli 2026 um 08:19

    Danke lenny2.
    Mfg.
    Endor

  • BackupProfile.uc.js - div. Fragen dazu

    • Endor
    • 8. Juli 2026 um 07:56
    Zitat von FuchsFan

    Und auch hiermit profilePath: "C:\\Users\\Old Man\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ooaxewl1.Reserve-Profil 2",

    Das war die Lösung. Habe meinen Profilpfad nun auch ganz angegeben und damit geht es.

    Eine Frage noch: Im ersten Backup Ordner erstellt das Script keine Zip Datei, kopiert nur
    die Dateien rein.
    Im zweiten Backup Ordner wird eine Zip Datei erstellt. Ist das so gewollt?

    Vielen Dank.
    Mfg.
    Endor

  • BackupProfile.uc.js - div. Fragen dazu

    • Endor
    • 7. Juli 2026 um 20:10

    Hallo FuchsFan.
    Habe Dein Scripte getestet. Prima Sache. Beide sind gut.
    Aber wenn die Profilbezeichnung ein Leerzeichen enthält funktioniert es nicht.
    zbs. Firefox 152 dann kommt nur die Meldung :

    ❌ Fehler: Profilordner existiert nicht: C:\Users\xxxx\AppData\Roaming\Mozilla\Firefox\Profiles\Firefox 152

    Lässt sich das eventuell noch beheben?

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 4. Juli 2026 um 07:28

    R.I.P.

  • Wetterfuchsbutton Script für userChrome.js

    • Endor
    • 29. Juni 2026 um 09:25

    Hallo FuchsFan!

    Mit deiner ersten Version genau das selbe Problem wie vom Mira_Belle
    beschrieben. Die obige teste ich noch. Vielen Dank.

    Mira_Belle

    Ich habe jetzt wie Du geschrieben hast nur diese beiden Absätze entsprechend eingefügt:

    JavaScript
        // Klick außerhalb: Panel schließen
        document.addEventListener('click', (event) => {
          if (panel.state === "open" && !panel.contains(event.target) && event.target.id !== id) {
            panel.hidePopup();
          }
        });

    und:

    JavaScript
      // ESC-Taste zum Schließen des Wetterfuchs-Panels
      document.addEventListener('keydown', function(event) {
        if (event.key === 'Escape' || event.keyCode === 27) {
          const panel = document.getElementById('wetterfuchs-panel');
          if (panel) panel.hidePopup();
        }
      });

    Funktioniert prima.
    Vielen Dank.
    Mfg.
    Endor

  • Wetterfuchsbutton Script für userChrome.js

    • Endor
    • 28. Juni 2026 um 21:28

    Mittelklick ins Paneel schließt es, öffnet aber zugleich einen neuen Tab mit Inhalt des Paneels.

  • Wetterfuchsbutton Script für userChrome.js

    • Endor
    • 28. Juni 2026 um 21:13

    Ich verwende die aktuelle von Mira_Belle von hier:

    Beitrag

    RE: Wetterfuchsbutton Script für userChrome.js

    Sorry, ich konnte nicht anders!
    Ich finde die Aufteilung so im Skript einfach besser
    und Symbole erst zu generieren, bzw. zu laden finde ich auch nicht so dolle.

    Also ist DAS dabei herausgekommen:

    (Quelltext, 315 Zeilen)


    Das Skript funktioniert auch ohne security.allow_unsafe_dangerous_privileged_evil_eval auf true zu setzen.
    Betätigen des Buttons mit linkem Doppelklick, Mittelklick und Linksklick öffnet ein Panel (Popup) mit entsprechenden Seiten.
    Das Menü, bzw. das Öffnen der entsprechenden Seiten…
    Mira_Belle
    7. Februar 2026 um 17:22

    da gibt es nur sowas:

    JavaScript
      // Panel erstellen
      function createPanel() {
        let doc = document;
        let panel = doc.createXULElement('panel');
        panel.id = "wetterfuchs-panel";
        panel.setAttribute('noautohide', "false");
        panel.setAttribute('type', "arrow");
        panel.setAttribute('position', "after_end");
    
        panel.addEventListener('popuphiding', () => {
          clearPanel();
        });
    
        panel.addEventListener('mousedown', event => {
          if (event.button == 1) {
            openUrlFromPanel();
          }
        });
    Alles anzeigen

    Mfg.
    Endor

  • Wetterfuchsbutton Script für userChrome.js

    • Endor
    • 28. Juni 2026 um 19:42

    Hallo an die Wetterfuchs Front.
    Nur eine kurze Frage, wenn ich beim Wetterfuchs ein Fenster öffne
    lässt es sich nicht mehr schließen. Ist das bei euch au so.
    Muss Firefox neu starten. Egal ob aus Menü oder klick auf Schaltfläche.

    Mfg.
    Endor

Unterstütze uns!

Jährlich (2026)

71,6 %

71,6% (554,79 von 775 EUR)

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