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

Beiträge von lenny2

  • Firefox v136.0a1 - Skript „Tooltip with URL“ funktioniert nicht mehr

    • lenny2
    • 26. Januar 2025 um 15:47

    Es wurden zwei Fehler entdeckt. Der Tooltip der Skript-Button selbst und der Tooltip zum Skriptstatus werden nicht angezeigt. Die Umschaltfunktion für die Enabled/Disabled funktioniert nicht (immer im Enabled Zustand) :(

    Oder eine Lösung, bei der es gar keine Button gibt.

  • Firefox v136.0a1 - Skript „Tooltip with URL“ funktioniert nicht mehr

    • lenny2
    • 26. Januar 2025 um 14:47
    Zitat von milupo

    Ersetze mal Zeile 61 durch diese:

    Zitat von milupo

    Und Zeile 82 durch diese:

    Danke! :thumbup:

  • Firefox v136.0a1 - Skript „Tooltip with URL“ funktioniert nicht mehr

    • lenny2
    • 26. Januar 2025 um 13:56

    Dieses Skript funktioniert nicht mehr in v136.0a1 Nightly. Es könnte mit jsm und mjs zu tun haben. Vielen Dank für Ihre Hilfe!

    JavaScript
    // ==UserScript==
    // tooltips_with_URL.uc.js
    // @description      Displays target URL in tooltip, when hovering over a link
    // Button has “tooltips on”/“tooltips off” positions
    // ==/UserScript==
    try {CustomizableUI.createWidget(({
        label: "Links in pop-up tooltips", localized: false,
        id: "URLTooltip", pref: "URLTooltip.enabled",
        get state() {
            return Services.prefs.getBoolPref(this.pref, true); // by default is ON
        },
        setIcon(btn, state = this.state) {
            btn.setAttribute("image", "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' style='fill:context-fill rgb(142, 142, 152);'><path d='M9.618 6.721a2.483 2.483 0 0 0-.39-.317l-.735.734A1.486 1.486 0 0 1 8.91 9.55l-2.12 2.122a1.486 1.486 0 0 1-2.122 0 1.486 1.486 0 0 1 0-2.121l.605-.605a3.53 3.53 0 0 1-.206-1.209L3.961 8.843a2.506 2.506 0 0 0 0 3.535 2.506 2.506 0 0 0 3.535 0l2.122-2.121a2.506 2.506 0 0 0 0-3.536z'/><path d='M6.79 9.55c.12.121.25.226.389.317l.734-.734a1.486 1.486 0 0 1-.417-2.411L9.618 4.6a1.486 1.486 0 0 1 2.121 0 1.486 1.486 0 0 1 0 2.121l-.605.605c.137.391.211.798.206 1.209l1.106-1.107a2.506 2.506 0 0 0 0-3.535 2.506 2.506 0 0 0-3.535 0L6.789 6.014a2.506 2.506 0 0 0 0 3.536z'/><circle style='fill:none;stroke:context-fill rgb(142, 142, 152);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round' cx='8' cy='8' r='7.4'/></svg>");
            btn.style.setProperty("fill", `${state ? "color-mix(in srgb, currentColor 20%, #e31b5d)" : ""}`);
        },
        onCreated(btn) {
            this.setIcon(btn), this.btn = btn, btn.owner = this;
            btn.setAttribute("oncommand", "owner.toggle()");
            btn.setAttribute("onmouseenter", "owner.mouseenter()");
        },
        mouseenter() {
            this.btn.tooltipText = this.label +' – '+ `${this.state ? "enabled" : "disabled"}`;
        },
        toggle() {
            Services.prefs.setBoolPref(this.pref, !this.state);
        },
        observe(s, topic) {
            if (topic.startsWith("q")) return this.destroy();
            var {state} = this;
            for(var {node} of CustomizableUI.getWidget(this.id).instances)
                this.setIcon(node, state);
            state ? this.initTooltip() : this.destroyTooltip();
        },
        init() {
            Services.prefs.addObserver(this.pref, this);
            Services.obs.addObserver(this, "quit-application-granted", false);
            this.state && this.initTooltip();
            delete this.init; return this;
        },
        destroy() {
            Services.prefs.removeObserver(this.pref, this);
            Services.obs.removeObserver(this, "quit-application-granted");
        },
        initTooltip() {
            var url = this.initURL = this.createURL("psInit");
            (this.initTooltip = () => Services.ppmm.loadProcessScript(url, true))();
        },
        destroyTooltip() {
            var url = this.createURL("psDestroy");
            (this.destroyTooltip = () => {
                Services.ppmm.removeDelayedProcessScript(this.initURL);
                Services.ppmm.loadProcessScript(url, false);
            })();
            delete this.createURL;
        },
        createURL: function createURL(meth) {
            var subst = this.id + "-" + meth;
            (createURL.rph || (createURL.rph = Services.io.getProtocolHandler("resource")
                    .QueryInterface(Ci.nsIResProtocolHandler)
            )).setSubstitution(subst, Services.io.newURI("data:text/javascript;charset=utf-8," + encodeURIComponent(
                `(${this[meth]})(ChromeUtils.import("resource://gre/modules/TooltipTextProvider.jsm").TooltipTextProvider.prototype)`
            )));
            delete this[meth]; return "resource://" + subst;
        },
        psInit: proto => {
            if (proto.getTextPlus) return proto.getNodeText = proto.getTextPlus.newGetNodeText;
            //================[ start content ]================
            proto.getTextPlus = node => {
                var href = getHref(node);
                if (!href || href == "#" || skipRe.test(href)) return;
                if (href.startsWith("data:")) return crop(href, 64);
                return crop(decode(href));
            }
            var skipRe = /^(?:javascript|addons):/;
            var getHref = node => {do {
                if (HTMLAnchorElement.isInstance(node) && node.href) return node.href;
            } while (node = node.flattenedTreeParentNode)}
            var crop = (url, max = 128) => url.length <= max
                ? url : url.slice(0, --max) + "\u2026"; // ellipsis
            var decode = url => {
                var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
                var ldu = Cu.import("resource:///modules/UrlbarInput.jsm", {}).losslessDecodeURI;
                return (decode = url => {try {return ldu(ios.newURI(url));} catch {return url;}})(url);
            }
            //================[ end content ]==================
            var func = proto.getTextPlus.getNodeText = proto.getNodeText;
            proto.getTextPlus.newGetNodeText = proto.getNodeText = function(node, text) {
                var res = func.apply(this, arguments);
                if (!res && !(node?.localName != "browser" && node.ownerGlobal && node.ownerDocument))
                    return false;
                var txt = this.getTextPlus(node), add = "";
                return txt ? text.value = res ? text.value + "\n" + txt + add : txt + add : res;
            }
        },
        psDestroy: proto => {
            proto.getNodeText = proto.getTextPlus.getNodeText;
        }
    }).init())} catch(ex) {Cu.reportError(ex);}
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 24. Januar 2025 um 18:13

    Vertikale Toolbar von Aris-t2 funktioniert im heutigen Nightly (24. Jan) nicht mehr X(

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 23. Januar 2025 um 12:22

    v136.0a1 aktualisiert und mein Scrollbar in Lesezeichenleisten-Ordnern funktioniert wieder. Problem gelöst.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 22. Januar 2025 um 14:10
    Zitat von 2002Andreas

    Du musst das testen ob die Werte bei dir auch so passen :/

    Danke, es hat funktioniert :thumbup:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 21. Januar 2025 um 17:42

    Hallo, wie kann man die Menüleiste mit CSS von Platz 5 auf Platz 2 oder 3 verschieben? ID = ContextUndoList (UndoListInTabmenuToo.uc.js). Danke.

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

    • lenny2
    • 20. Januar 2025 um 15:22

    Bookmarklets zum Scroll auf der Seite nach oben und unten bis zum Ende. Der erste Klick scroll die Seite von der aktuellen Position bis zum Ende, der zweite Klick bringt die Seite wieder an die vorherige Position. Die Bookmarklets müssen Top und Bottom genannt werden.
    URL für Top

    Code
    javascript: ((t, sy) => {
       if (sy === 0) {
           window.scrollTo({top: window.s_ud, behavior: t});
           s_ud = 0;
       } else {
           s_ud = sy;
           window.scrollTo({top: 0, behavior: t});
       }
    })("smooth", window.scrollY)

    URL für Bottom

    Code
    javascript:((t, smy, sy) => {
       if (Math.abs(smy - sy) < 2) {
           if (window.s_du === undefined) return;
           window.scrollTo({top: s_du, behavior: t});
           s_du = smy;
       } else {
           s_du = sy;
           window.scrollTo({top: smy, behavior: t});
       }
    })("smooth", window.scrollMaxY, window.scrollY)

    userChrome.css

    Code
    /* Boormarklets "Top" and "Bottom" */
    toolbarbutton.bookmark-item[scheme="javascript"]:not([container]) {
     &[label="Top"] {
       content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAT0lEQVQ4je3Quw4AEAxG4b+e3OitaxEJejUZNLFIz5cAGMNAZaBZO17M4+SQLc4hShxDnNhGgrGMJOMVuYwnQspzWLon4Ngv5q8G5gMvAB00SYnQZbsYoQAAAABJRU5ErkJggg==");
     }
     &[label="Bottom"] {
       content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWElEQVQ4je3OsQ6AMAiE4R9f2pG++TmZNEgrbA6SsNC7LzWSESi7G1i8HVmwMz/wCUBwCjTvKhxzAr8fHkhhPeodxLMfVpG8XET25RekVl4gvfKEDMHYZS5D631YXYCxXQAAAABJRU5ErkJggg==");
     }
    }
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 19. Januar 2025 um 13:25

    Speravir Danke für das Angebot der Hilfe. Die Meinung des Benutzers ist nur ein Wunsch. Möge Alice0775 mehr Zeit haben, um Bugs zu beheben.
    Nur zur Information, beachten Sie, wie viel informativer die Erweiterung Dropdown-Menü (oben) ist im Vergleich zu dem Skript (unten).

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 18. Januar 2025 um 08:36
    Zitat von 2002Andreas

    Teste bitte nur mit dem Code, und deaktivier mal alle anderen Codes und Skripte.

    Tested, das Ergebnis ist unbefriedigend.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 18. Januar 2025 um 07:37
    Zitat von Speravir

    Ich hatte weiter oben geschrieben, dass jemand Alice informieren sollte. Der jemand war jetzt ich:

    Sie haben genau das Richtige getan, vielen Dank.
    Die optimale Variante von UndoListInTabmenuToo.uc.js sieht für mich so aus.
    - Der erste Punkt im Untermenü sollte „Open the last closed tab“ sein (ich glaube, in einigen Varianten des Skripts ist es so, aber ich bin schon verwirrt).
    - In -- config -- sollte es möglich sein, „Alle Tabs wieder öffnen“ zu deaktivieren, oder es sollte bekannte Codezeilen geben, um sie manuell zu entfernen.
    - Wenn man auf „Alle Tabs wieder öffnen“ klickt, werden alle Tabs auf einmal geladen, nicht im „Lazy Load“-Modus, und das verursacht Probleme.
    - Die Breite der Dropdown-Liste der geschlossenen Tabs muss vergrößert werden, sie ist 3-4cm kleiner als bei der „Undo Cloae Tab 8.0.0“-Erweiterung und das ist unbequem.


    Zitat von Mira_Belle

    Hat jemand eine Idee, wegen des Kontextmenüs?

    Wenn der bereits Code // „Liste Kürzlich geschlossener Fenster“ entfernt wird, bleibt der Eintrag „Geschlossener Tabs“ im Kontextmenü der Seite mit einer leeren Tabs aktiv.

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 17. Januar 2025 um 15:49

    ;(

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 17. Januar 2025 um 14:54
    Zitat von 2002Andreas

    Funktioniert hier einwandfrei

    Der größte Nachteil ist, dass man nicht ganz nach oben scrollen kann. Aber in v134, v128... funktionierte es perfekt.

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 17. Januar 2025 um 14:15
    Zitat von 2002Andreas

    Teste bitte mal:

    Scrollen Sie mit der mittleren Maustaste. Nach unten so schlecht, ohne Glättung. Up ist schlimmer, 10-20 Registerkarten sind nicht den ganzen Weg nach oben gescrollt.

  • Scrollbar in Lesezeichenordnern Firefox v136.0a1

    • lenny2
    • 17. Januar 2025 um 13:20

    In v136.0a1 funktioniert das folgende CSS nicht mehr richtig (in v134.0.1 funktionierte es sehr gut). Aris-t2 hat die Originalquelle aber sie funktioniert überhaupt nicht.

    CSS
    /* userChrome.css */
    /* Scrollbar_Lesezeichenordnern.css */
    link[href$="arrowscrollbox.css"] ~ scrollbox {
        margin-block: 0 !important;
    }
    link[href$="arrowscrollbox.css"] ~ scrollbox[orient="vertical"] {
        overflow-y: auto !important;
    }
    .menupopup-arrowscrollbox {
        --scroll_status: collapse;
    }
    link[href$="arrowscrollbox.css"] ~ :is(#scrollbutton-up, #scrollbutton-down) {
        visibility: var(--scroll_status, visible);
    }
    /* Entfernt die zusätzliche Leerzeile am unteren Rand */
    scrollbox[flex="1"][part="scrollbox"] {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 17. Januar 2025 um 12:29
    Zitat von BrokenHeart

    .exe?size=16",

    Wow, super! :thumbup:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 16. Januar 2025 um 21:49

    Arbeitet in Nightly

    Code
    // eXt-App-Launch.uc.js
    // Create multiple movable buttons 
    // 1 - Notepad Start
    try {
       CustomizableUI.createWidget({
           id: "add-notepad-app",
           label: "Notepad",
           tooltiptext: "Notepad Start",
           defaultArea: CustomizableUI.AREA_NAVBAR,
        onCreated: btn => btn.image = "file:///C:/Program Files/Firefox/Profiles/icons/notepad.png",
           onCommand: function(event) {
               var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
               file.initWithPath("C:\\Windows\\System32\\notepad.exe");
               if (file.exists()) file.launch();
           }
       });
    } catch(e) {}
    // 2 - Program Files Folder Open 
    try {
       CustomizableUI.createWidget({
           id: "add-openfolder1-app",
           label: "Program Files",
           tooltiptext: "Open Program Files Folder",
           defaultArea: CustomizableUI.AREA_NAVBAR,
        onCreated: btn => btn.image = "file:///C:/Program Files/Firefox/Profiles/icons/folder.png",
           onCommand: function(event) {
               var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
               file.initWithPath("C:\\Program Files");
               if (file.exists()) file.launch();
           }
       });
    } catch(e) {}
    // 3 - Next button (input another id:)
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 16. Januar 2025 um 11:45
    Zitat von Mira_Belle

    Der Punkt "Alle Tabs wieder öffnen" erscheint nicht oben im Menü, sondern unten.
    Hier noch einmal "meine" Version.

    Danke, kein Problem :thumbup:

    Zitat von Mira_Belle

    Version des Appmenüs

    Dieses Appmenu.uc.js mit diesen Korrekturen :thumbup:


    Zitat von Sören Hentzschel

    Schema F:

    Danke! :thumbup:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 16. Januar 2025 um 08:55

    Hallo, dieses Skript funktioniert nicht mehr in Nightly

    JavaScript
    // copy-link-text.uc.js
    (async (id, url) => {
        if (location != url) return;
        var menuitem = document.createXULElement("menuitem");
        document.getElementById(id).after(menuitem);
        var hidden = () => !nsContextMenu.contentData.context.linkTextStr;    
        menuitem.hidden = true;
        menuitem.render = () => {
            if (hidden()) return;
            menuitem.hidden = false;
            menuitem.id = id + "text";
            menuitem.label = "Copy Link Text";
            menuitem.setAttribute("oncommand", "navigator.clipboard.writeText(gContextMenu.linkTextStr);");
            delete menuitem.render;
            menuitem.render();
            menuitem.render = () => menuitem.hidden = hidden();
        }
    })("context-copylink", "chrome://browser/content/browser.xhtml");
    Alles anzeigen

    Zitat von Mira_Belle

    Und hier noch mal eine überarbeitete Version!
    Nun erscheint das Menü nur noch als Kontextmenü in einem Tab, wo es auch richtig funktioniert!

    Diese Version funktioniert gut, ohne die zuvor beschriebenen Fehler. Danke! :thumbup:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • lenny2
    • 15. Januar 2025 um 17:52
    Zitat von 2002Andreas

    So hatte ich das verstanden.

    Danke! Ja, wie in Ihrem Screenshot in Beitrag #323 :thumbup::)

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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