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

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

    • Endor
    • 5. Juli 2023 um 11:42

    Die css Codes die Du so wie ich über das Script userssloader.uc.js lädst
    könnten da irgendwie dazwischen funken. Das nur als Erklärung, ich weiß
    Boersenfeger du weißt das schon, aber für andere mitlesende zum besseren
    Verständnis.

    Mfg.
    Endor

  • Mal den head mit den Metatags zu aktualisieren

    • Endor
    • 5. Juli 2023 um 11:32

    Hallo BlackRitus .

    Die Scripte sind ja nicht von mir.
    Ein japanischer Schrauber aktualisiert das und bietet es
    so auf einer japanischen Seite an, ich lade die dann runter
    und übersetze was geht auf Deutsch mit Google Translate.
    Der Autor verwendet als Basis das Script von Alice auch japaner-in,
    der es leider selber nicht mehr aktualisiert. Daher die Asiatischen
    Zeichen. Ich halte mich da genau an die Vorgaben von loshombre
    der hier alles was mit Scripten zu tun hat ins leben gerufen hat.
    Mfg.
    Endor

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

    • Endor
    • 5. Juli 2023 um 10:47

    Du musst den SCriptcache noch löschen lassen.

    Nach jeder Änderung sonst geht es nicht.

    Gib dazu about:support in die Adressleiste ein
    nachdem sich die Seite geöffnet hat rechts oben auf Schaltfläche
    Start-Cache löschen klicken.

    Mfg.
    Endor

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

    • Endor
    • 5. Juli 2023 um 10:29

    Hallo DenalB !

    Teste diese Version das ist die aktuelle Version.
    Du musst nur noch Deine Anpassungen übertragen:
    https://github.com/Endor8/userChr…upProfile.uc.js

    Lass den Scriptcache löschen beim Firefox Neustart.

    Hoffe es funktioniert.

    Mfg.
    Endor

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

    • Endor
    • 2. Juli 2023 um 20:18

    Bitte sehr:

    userChrome.js/Firefox 115/BackupProfile.uc.js at master · Endor8/userChrome.js
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com

    2002Andreas.
    Auch Dir einen tollen Start in die Woche.

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

    • Endor
    • 2. Juli 2023 um 20:10

    Hallo 2002Andreas.

    Vielen Dank. :thumbup:

    Lade ich dann bei Github unter Firefox 115 hoch.
    Mfg.
    Endor

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

    • Endor
    • 2. Juli 2023 um 19:47
    Zitat von 2002Andreas

    Könnte Endor also evtl. auf seiner Seite hochladen.

    Hallo Andreas.

    Ist hier irgendwo das geänderte Script schon vorhanden oder muss ich die
    notwendigen Änderungen noch übertragen?

    Mfg.
    Endor

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • Endor
    • 22. Juni 2023 um 17:58

    pirate man
    Wie sieht der Inhalt der userChrome.js Datei im Chrome Ordner aus?

    Es soll nur das drinnen sein:

    JavaScript
    userChrome.ignoreCache = true;
    userChrome.import("*", "UChrm");

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 22. Juni 2023 um 07:55

    Hallo Mathe41 .
    Alles alles gute zum Geburtstag.
    Vor allem viel Gesundheit wünsche ich Dir

    und vom Rest nur das Best. :)

    Viele Grüße
    Endor

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

    • Endor
    • 21. Juni 2023 um 08:08

    fuxxi
    Warum hast Du Deinen Beitrag wieder gelöscht?
    Mfg.
    Endor

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

    • Endor
    • 20. Juni 2023 um 13:25

    Hallo Mira_Belle.
    Wie Sören schon geschrieben hat, funktioniert diese Version erst
    ab Firefox 115. Habe diese Version mittlerweile auch bei Guthib
    hoch geladen. Siehe: https://github.com/Endor8/userChr…doTabList.uc.js

    Im Script habe ich oben entsprechenden Hinweis hinzu gefügt.

    Mfg.
    Endor

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

    • Endor
    • 20. Juni 2023 um 12:14

    Habe ich mittlerweile auch bemerkt.

    Vielen Dank für Deine Hilfe!!

    Funktioniert wieder einwandfrei.

    Mfg.
    Endor

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

    • Endor
    • 20. Juni 2023 um 12:11

    Ist es dann richtig wenn ich es so ändere:
    von:

    if (SessionStore.getClosedTabCount(window) != 0) {

    nach:

    if (SessionStore.getClosedTabCountForWindow != 0) {

    von:

    let undoItems = SessionStore.getClosedTabData(window);


    nach:

    let undoItems = SessionStore.getClosedTabDataForWindow;

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

    • Endor
    • 20. Juni 2023 um 12:03

    Hallo Sören Hentzschel .
    Danke für den Link usw.

    Muss dass hier dann auch geändert werden?

    SessionStore.getClosedTabData(window);

    Mfg.
    Endor

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

    • Endor
    • 20. Juni 2023 um 10:31

    Hallo zusammen.
    Leider geht ab Firefox 115 aktuell beta,
    das Script: newTabButtonUndoTabList.uc.js
    wieder nicht mehr.

    JavaScript: newTabButtonUndoTabList.uc.js
    // ==UserScript==
    // @name           newTabButtonUndoTabList.uc.js
    // @description    Bei Rechtsklick auf die Neuen Tab Schaltfläche, wird im Kontextmenü,
    // @description    der Eintrag zum Wiederherstellen des zuletzt geschlossenen Tabs angezeigt.
    // @include        main
    // ==/UserScript==
    (function () {
    
        if (!window.gBrowser){
            return;
        }
        
        gBrowser.tabContainer.addEventListener('click', function (e) {
            if (e.originalTarget.id != 'tabs-newtab-button') return;
            switch (e.button) {
                case 1:
                    undoCloseTab(0);
                    break;
                case 2:
                    UCT.makePopup(e);
                    event.preventDefault();
                    break;
            }
        }, false);
    
    })();
    
    var UCT = {
        init: function () {
            var mp = document.createXULElement("menupopup");
            mp.id = "undo-close-tab-list";
            mp.setAttribute("onpopupshowing", "UCT.onpopupshowing(event);");
            mp.setAttribute("placespopup", true);
            mp.setAttribute("tooltip", "bhTooltip");
            mp.setAttribute("popupsinherittooltip", true);
            document?.getElementById("mainPopupSet")?.appendChild(mp);
        },
    
        makePopup: function (e) {
            if (SessionStore.getClosedTabCount(window) != 0) {
                document.getElementById("undo-close-tab-list").openPopupAtScreen(e.screenX +2, e.screenY +2, false);
            }
            else
            {
                console.log("--- Es gibt keinen Tab, der wiederhergestellt werden kann ---");
            }
        },
    
        onpopupshowing: function (e) {
            var popup = e.target;
    
            while (popup.hasChildNodes())
                popup.removeChild(popup.firstChild);
    
            let undoItems = SessionStore.getClosedTabData(window);
            undoItems.map(function (item, id) {
                var m = document.createXULElement('menuitem');
                m.setAttribute('label', item.title);
                m.setAttribute('image', item.image );
                m.setAttribute('class', 'menuitem-iconic bookmark-item');
                m.setAttribute('oncommand', 'undoCloseTab(' + id + ')');
                popup.appendChild(m);
            });
    
            popup.appendChild(document.createXULElement("menuseparator"));
            m = document.createXULElement("menuitem");
            m.setAttribute("label", "Chronik in der Sidebar öffnen");
            m.setAttribute("image", "chrome://browser/skin/history.svg");
            m.setAttribute("class", "menuitem-iconic");
            m.setAttribute("oncommand", "SidebarUI.toggle('viewHistorySidebar');");
            popup.appendChild(m);
        },
    
    };
    
    setTimeout(function() {
          UCT.init();
      },250);
    Alles anzeigen

    Konsole sagt:

    Code
    Uncaught TypeError: SessionStore.getClosedTabCount is not a function
        makePopup file:///F:/Firefox/Beta/Profilordner/chrome/NewTabButtonUndoTabList.uc.js:40
        <anonymous> file:///F:/Firefox/Beta/Profilordner/chrome/NewTabButtonUndoTabList.uc.js:20
    NewTabButtonUndoTabList.uc.js:40:26
        makePopup file:///F:/Firefox/Beta/Profilordner/chrome/NewTabButtonUndoTabList.uc.js:40
        <anonym> file:///F:/Firefox/Beta/Profilordner/chrome/NewTabButtonUndoTabList.uc.js:20

    Das wären diese Zeilen:
    20:

    UCT.makePopup(e);

    40:

    if (SessionStore.getClosedTabCount(window) != 0) {

    Hat wer eine Idee wie man das wieder zum laufen brigen kann?

    Vielen Dank im Voraus für eure Mühe.
    Mfg.
    Endor

  • Offenbar funktionieren alle Benutzerskripte nicht mehr im Nightly

    • Endor
    • 14. Juni 2023 um 15:53

    Anzahl Scripte usw.

    So sieht das bei mir aus:

    Ja ja selber Schuld... ;)

    Mfg.
    Endor

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • Endor
    • 14. Juni 2023 um 11:37

    Hallo pirate man !

    Und wie weiter oben schon steht, immer den Scriptcache löschen lassen.

    Sonst siehst du natürlich keine Änderungen.
    Wenn noch nicht, verwende ein SCript zum neustarten von Firefox.
    Dabei wird der Scriptcache mit gelöscht.

    Script:

    JavaScript: restartfirefox.uc.js
        //      RestartFirefox.uc.js   2
    
        (function() {
    
           if (location != 'chrome://browser/content/browser.xhtml') return;
           
           try {
              CustomizableUI.createWidget({
                 id: 'restart-button',
                 type: 'custom',
                 defaultArea: CustomizableUI.AREA_NAVBAR,
                 onBuild: function(aDocument) {         
                    var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                    var props = {
                       id: 'restart-button',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       removable: false,
                       label: 'Neustart',
                       tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
                       style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
                       onclick: 'if (event.button == 0) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
                    };            
                    for (var p in props)
                       toolbaritem.setAttribute(p, props[p]);            
                    return toolbaritem;
                 }      
              });
              CustomizableUI.registerToolbarNode(tb);
           } catch(e) { };   
                 
           var menuitem = document.createXULElement('menuitem');   
           var props = {
              id: 'restartfirefox-fileMenu2',
              label: 'Neustart',
              tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
              onclick: 'if (event.button == 0) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
           };            
           for (var p in props)
              menuitem.setAttribute(p, props[p]);      
           document.getElementById('menu_FilePopup').insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));
    
           var menuitem = document.createXULElement('toolbarbutton');
           menuitem.id = 'uc_menu_Restart_H';
           menuitem.classList.add('subviewbutton', 'subviewbutton-iconic');
           menuitem.setAttribute('label' , 'Neustart');
           menuitem.setAttribute('tooltiptext' , 'Neustart');
           menuitem.style.listStyleImage= 'url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" fill-opacity="context-fill-opacity" d="M15,1a1,1,0,0,0-1,1V4.418A6.995,6.995,0,1,0,8,15a6.954,6.954,0,0,0,4.95-2.05,1,1,0,0,0-1.414-1.414A5.019,5.019,0,1,1,12.549,6H10a1,1,0,0,0,0,2h5a1,1,0,0,0,1-1V2A1,1,0,0,0,15,1Z"/></svg>\')';
           menuitem.setAttribute('oncommand' , "Services.appinfo.invalidateCachesOnRestart() || Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);");
           var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button2');
           refItem.parentNode.insertBefore(menuitem, refItem);
    
        })();
    Alles anzeigen

    FuchsFan.
    Schließe mich den Worten von BrokenHeart voll und ganz an.
    Klasse Arbeit!!! :thumbup:

  • Der Glückwunsch-Thread

    • Endor
    • 10. Juni 2023 um 14:39

    Alles alles Gute zum Geburtstag *Nobbi*!!

    Bleib Gesund.

    Mfg.
    Endor

  • Offenbar funktionieren alle Benutzerskripte nicht mehr im Nightly

    • Endor
    • 8. Juni 2023 um 14:20

    .DeJaVu

    hatte ich schon bemerkt und geändert.

    ;)

  • Offenbar funktionieren alle Benutzerskripte nicht mehr im Nightly

    • Endor
    • 8. Juni 2023 um 14:14

    Ja ohne Änderung geht es in 115 und 116.

    Obiges Script wurde erst heute vom Autor aktualisiert.
    Damit es in Firefox 115 und 116 überhaupt geht.

    In Firefox 114 läuft hier noch die vorgänger- Version:

    Code
    // ==UserScript==
    // @name            UndoCloseTabButtonN
    // @description        Kürzlich geschlossene Tabs, mit Klick auf Schaltfläche in der Navbar oder Mittelklick auf freie Stelle in Tableiste, wiederherstellen.
    // @version            1.2.6
    // @include            main
    // @charset            UTF-8
    // @note            2021/12/12 Fx95 SessionStore.getClosedTabData / getClosedWindowData 
    // @note            2021/12/12 Rückgabe Wert von JSON in Array geändert 
    // @note            2019/01/23 Fx66 Problem, bei dem das Klicken in die Tableiste nicht funktionierte - behoben 
    // @note            2019/07/04 Fx69
    // @note            2019/09/03 Fx70
    // @note            2019/12/09 Fx72
    // @note            2021/11/21 FX95 Anpassung von aborix
    // ==/UserScript==
    // Schaltfläche wird standardmäßig in die Navigationsleiste eingefügt.
    (function() {
        "use strict";
    
        const useTabbarMiddleClick = false;    
        // Kürzlich geschlossene Tabs mit Mittelklick auf Tableiste oder neuen Tab 
        // Schaltfläche wiederherstellen, aktivieren? ( true = ja false = nein )
    
        const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
    
        window.ucjsUndoCloseTabButtonService = {
            prepareMenu(event) {
                const doc = (event.view && event.view.document) || document;
                const menu = event.originalTarget;
                this.removeChilds(menu);
    
                // Geschlossene Tabs
                let data = SessionStore.getClosedTabData(window);
                if (typeof(data) === "string") {
                    data = JSON.parse(data);
                }
                const tabLength = data.length;
    
                for (let i = 0; i < tabLength; i++) {
                    const item = data[i];
                    const m = this.createFaviconMenuitem(doc, item.title, item.image, i, this.undoTab);
    
                    const state = item.state;
                    let idx = state.index;
                    if (idx == 0)
                        idx = state.entries.length;
                    if (--idx >= 0 && state.entries[idx])
                        m.setAttribute("targetURI", state.entries[idx].url);
    
                    menu.appendChild(m);
                }
    
                // Geschlossenes Fenster 
                data = SessionStore.getClosedWindowData();
                if (typeof(data) === "string") {
                    data = JSON.parse(data);
                }
                const winLength = data.length;
                if (winLength > 0) {
                    if (tabLength > 0)
                        menu.appendChild(this.$C(doc, "menuseparator"));
    
                    menu.appendChild(this.$C(doc, "menuitem", {
                        disabled:    true,
                        label:        "Geschlossene Fenster"
                    }));
    
                    for (let i = 0; i < winLength; i++) {
                        const item = data[i];
    
                        let title = item.title;
                        const tabsCount = item.tabs.length - 1;
                        if (tabsCount > 0)
                            title += " und ( " + tabsCount + " weitere Tabs )";
    
                        const tab = item.tabs[item.selected - 1];
    
                        const m = this.createFaviconMenuitem(doc, title, tab.image, i, this.undoWindow);
                        menu.appendChild(m);
                    }
                }
    
                if (tabLength + winLength === 0) {
    /*                menu.appendChild(this.$C(doc, "menuitem", {
                        disabled: true,
                        label    : "履歴がありません"
                    }));*/
                    event.preventDefault();
                }
            },
    
            createFaviconMenuitem(doc, label, icon, value, command) {
                const attr = {
                    class:    "menuitem-iconic bookmark-item menuitem-with-favicon",
                    label:    label,
                    value:    value
                };
                if (icon) {
                    if (/^https?:/.test(icon))
                        icon = "moz-anno:favicon:" + icon;
                    attr.image = icon;
                }
                const m = this.$C(doc, "menuitem", attr);
                m.addEventListener("command", command, false);
                return m;
            },
    
            undoTab(event) {
                undoCloseTab(event.originalTarget.getAttribute("value"));
            },
            undoWindow(event) {
                undoCloseWindow(event.originalTarget.getAttribute("value"));
            },
            removeChilds(element) {
                const range = document.createRange();
                range.selectNodeContents(element);
                range.deleteContents();
            },
    
            onClick(event) {
                if (event.button === 1) {
                    switch (event.originalTarget.localName) {
                    case "box":    // -Fx65
                    case "scrollbox":    // Fx66-
                    case "toolbarbutton":
                        event.preventDefault();
                        event.stopPropagation();
                        undoCloseTab();
                        break;
                    }
                }
            },
    
            $C(doc, tag, attrs) {
                const e = tag instanceof Node? tag: doc.createElementNS(XULNS, tag);
                if (attrs) {
                    Object.entries(attrs).forEach(([key, value]) => e.setAttribute(key, value));
                }
                return e;
            },
        };
    
        function run() {
            if (useTabbarMiddleClick) {
                gBrowser.tabContainer.addEventListener("click", ucjsUndoCloseTabButtonService.onClick, true);
            }
    
            const buttonId = "undo1-close-tab-button";
    
            if (document.getElementById(buttonId)) {
                return;
            }
    
            try {
                Cu.import("resource:///modules/CustomizableUI.jsm");
                CustomizableUI.createWidget({
                    id            : buttonId,
                    defaultArea    : CustomizableUI.AREA_NAVBAR,
                    type        : "custom",
                    onBuild        : doc => {
                        const btn = ucjsUndoCloseTabButtonService.$C(doc, "toolbarbutton", {
                            id                : buttonId,
                            class            : "toolbarbutton-1 chromeclass-toolbar-additional",
                            type            : "menu",
                            anchor            : "dropmarker",
                        label:            "Geschlossene Tabs",
                        tooltiptext:    "Geschlossene Tabs wieder herstellen",
                            image            : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADgUlEQVR42mL8//8/AyUAIIBYYIzVq1dLC4mIrvr08ZPV379/vjEzMwOZnycmxMV04DMAIIAYQC4A4dXr1oU+fvLk/5/fv/9//fzl/9ev3/6vWLnqK0weFwYIIBZ0A79//crw5+9fhh+//jBYWlhz1dc3fgIqZeDh4WHk4uaqysnKmoysHiCAwAbceHRD6uLdQ0kGunoMv9hYGX79/sPw7cdvhn///jNYWJjzgtRw8/AwvHz5smzutlbN4yeP/k8Pqeo11bW5BxBAjCBnFPbHd7EIMJRoiZgx8nBwMvz+85fhJ9CQf3//Mzx9+pQBFM483FwMQG8xMDL/ZXj46cZ/9v/sk6ZWriwACCCwC25eviprEKbGeOP/AYavb34wsHCwMPz9AzTg9z+GP7x/Gf7++ws07B/Djz+/GZiYGBhYBdgYrx68JwXUyggQQGADePgFfjD+ZGHgF+Bl+P7yHZDPycDGws2gKW7GIMAhwnDs4XaGJ1/uMPz+8Z2BnYOZ4fOnzwwsrMxfgVr/AwQQ2ABpGYkv/GLcDELSfEDn/2HgFeZh8JdLYfjw6SODvqw5g4KiPMOsMw0MDEDbOYWABrz5zsAtI/wJpBcggJhABD+P8MefX38x/AU6k+EvIwPHHx4GNgYuhuuPLzCcuL2f4QswZozEHBjYGDmAdjIw/Pn+l0FCVOoNSC9AAIENEBEQe/Pjy0+GP8CA42LgZ/BXTWb48OUdw6m7+xmm7W5hePTqLoOLaigD+28+hnfv3jN8ePMJaIDMc5BegAACGyApLPX82+fvDB/ev2f4/eU/Ax+bEMOLd08ZpITkGbTl9IHp4jfDsev7GL59/8Lw+9dvhp/ffjPISio+BekFCCCwAQpiyrdfPn3F8OrVa4bHr+8zXHxwioGbjY+hwq+PwVkzmCHYMpFBS84A6Pp/DP/+/2P4+/Mvg5Ks+gOQXoAAggSimNqTb59+/v7x7SfL289vGRccmMDAxyrEsO3sKmCC+sKw9+xmhicf7gLxfQZ2QSaG/38YfkvyyoPCgBEggMAGfPnyhV2eV6vzxs7LWr9//Gf+yPKS6f/fl8zAhMgISkX//11h+M/I+A/ohL/f2P7/1VA2uvb161cOkAMAAogRmp1Znz17xsrCwsL07ds3lu/fvzOD2D9+/GCCpXk2Nra/XFxc/4Bif7i5uf9ISUn9Bgr/BggwAMhljD12v/akAAAAAElFTkSuQmCC",
                            onclick            : "ucjsUndoCloseTabButtonService.onClick(event);",
                            oncontextmenu    : "event.preventDefault();",
                        });
                        const menu = ucjsUndoCloseTabButtonService.$C(doc, "menupopup", {
                            tooltip                : "bhTooltip",
                            popupsinherittooltip: "true",
                            oncontextmenu        : "event.preventDefault();",
                            onpopupshowing        : "ucjsUndoCloseTabButtonService.prepareMenu(event);",
                        });
                        btn.appendChild(menu);
                        return btn;
                    },
                });
            } catch (e) {}
        }
    
        if (gBrowserInit.delayedStartupFinished) {
            run();
        } else {
            const OBS_TOPIC = "browser-delayed-startup-finished";
            const delayedStartupFinished = (subject, topic) => {
                if (topic === OBS_TOPIC && subject === window) {
                    Services.obs.removeObserver(delayedStartupFinished, topic);
                    run();
                }
            };
            Services.obs.addObserver(delayedStartupFinished, OBS_TOPIC);
        }
    })();
    Alles anzeigen

Unterstütze uns!

Jährlich (2025)

104,5 %

104,5% (679,10 von 650 EUR)

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