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

Beiträge von Zitronella

  • UserChrome.css zum anpassen des Aussehens: Tab mit laufendem Video

    • Zitronella
    • 10. September 2021 um 16:31

    hm, ist es wirklich das was der TO meint. Es geht doch darum nur den Tab einzufärben in dem ein Ton zu hören ist, oder?

  • Der Glückwunsch-Thread

    • Zitronella
    • 9. September 2021 um 23:53

    bigpen oh wie schön, mal wieder was von dir zu hören. Freut mich, dass es dir gut geht. An manche User denke ich doch manchmal, wenn ich über alte Threads stolpere und da taucht dann kurz die Frage auf: was wohl mit demjenigen ist. Und so ging es mir einige Male bei dir. Umso schöner, wenn sie sich hier wieder melden, so wie du.

    Auf jeden Fall auch von mir herzlichen Glückwunsch noch nachträglich und weiterhin alles Gute.🎂 🎈

  • Unerwünschte urlbar-Veränderung

    • Zitronella
    • 9. September 2021 um 21:04
    Zitat von Sören Hentzschel

    Hält man die Shift-Taste gedrückt, wenn man auf diesen Kreis klickt, wechselst Firefox die Darstellung zwischen Hexadezimal, RGB und HSL

    sehr cool :thumbup: Danke

  • Unerwünschte urlbar-Veränderung

    • Zitronella
    • 9. September 2021 um 20:25

    Gerade auf die Suche gemacht, dieser hier https://rgbacolorpicker.com/ erscheint mir am übersichtlichsten.

  • Unerwünschte urlbar-Veränderung

    • Zitronella
    • 9. September 2021 um 20:17
    Zitat von harff182

    Das hilft mir aber leider nicht, anhand des Codes zu erkennen, wo welche Farbe gesetzt wird.

    Gehe mal zu https://www.color-hex.com

    Dort kannst du in das Suchfenster Fenster zb. rgb (10,40,90) einfügen und erhältst dann auf den Button "Get Info" die Ansicht wie es aussieht und noch weitere Infos.

    Dort kannst du auch Farben aussuchen (Der kleine Pfeil VOR dem Button "Get Info") und dann wieder auf "Get Info"

    Der Wert nach dem Punkt, kann man dort nicht einfügen, da das ein erweiterter Wert ist und auch nur für die Dichte und nicht mehr für die Farbe verantwortlich ist. Also rgba (10,40,90.1) kann man dort nicht eingeben. Aber das sollte ja nicht das Problem sein.

  • Seit Update auf FF88 fehlt Menüpunkt "Grafik anzeigen"

    • Zitronella
    • 8. September 2021 um 19:08
    Zitat von dribs

    Auch in einem Backup vom Profilordner

    Im Profilordner muss auch gar nix geändert werden wenn du UserCSSLoader.uc.js eh nicht nutzt.

    Einfach noch mal den Thread genau lesen.

  • Was muss wo geändert werden in FF 92.0

    • Zitronella
    • 8. September 2021 um 15:34
    Zitat von BarbaraZ-

    Hier mein Installationsordner:

    Das ist doch nicht der Installationsordner!

  • Nur-https-Modus verhindert laden der https-Seite

    • Zitronella
    • 8. September 2021 um 13:31

    ahh, du hast Product und Component geändert. Danke. Ich bin immer unsicher was dort die richtige Rubrik ist ?(

  • Nur-https-Modus verhindert laden der https-Seite

    • Zitronella
    • 8. September 2021 um 13:15
    Zitat von Sören Hentzschel

    möchtest du vielleicht ein neues Bugzilla-Ticket dafür erstellen?

    1729668 - https-only-mode only works with Reload
    NEW (nobody) in Firefox - Address Bar. Last updated 2021-09-08.
    bugzilla.mozilla.org
  • Nur-https-Modus verhindert laden der https-Seite

    • Zitronella
    • 8. September 2021 um 12:35

    Das Problem ist wohl nur teilweise behoben.

    Was Post #1 betrifft, ist das Problem wirklich mit Firefox 92 behoben

    Was Post #6 betrifft, allerdings nicht ganz

    Ruft man https://meine.santander.de/nosignature/ an und klickt unten auf NEU EINLOGGEN erfolgt die Weiterleitung auf http://meine.santander.de/login/, allerdings wird die Seite weiterhin mit der Warnmeldung angezeigt. Bei Neu Laden gehts dann und man wird auf https://meine.santander.de/login/#/login/ weiter geleitet.

  • Was schaut ihr gerade?

    • Zitronella
    • 5. September 2021 um 20:47

    Wichtiges Thema und wieder mal gut recherchiert und alles mit Quellen hinterlegt :thumbup:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Arlo Talk

    • Zitronella
    • 3. September 2021 um 20:11

    Funktioniert es denn mit anderen Browsern wie zb. Edge?

  • Firefox Cache nach Schließen nicht leer

    • Zitronella
    • 3. September 2021 um 08:35

    ach klra, weil unter about:cache?storage=disk diese neue Website überhaupt nicht auftauchen sondern nur unter about:cache?storage=memory

    Unter about:cache?storage=disk tauchen nur Seiten von mozilla oder pocket auf.

    Einfach mal selbst ausprobieren

  • YouTube 1 sek. Aussetzer

    • Zitronella
    • 30. August 2021 um 16:03

    im Fehlerbehebungsmodus werden auch alle Erweiterungen deaktiviert, allerdings auch noch mehr.

    ☰ ➜ Hilfe ➜ Fehlerbehebungsmodus ➜ Neu starten ➜ Im Fehlerbehebungsmodus starten

  • Vertical Add-on Bar - Trennlinien

    • Zitronella
    • 28. August 2021 um 00:11

    //pass bloß auf, daß du Boersenfeger nicht verärgerst, du machst ihm mächtig Konkurrenz im Browser verunstalten *duckundweg* =O

  • In Erweiterungen funktioniert das 'Wiederherstellen eines geschlossenen Tabs' nicht mehr...

    • Zitronella
    • 27. August 2021 um 21:23
    Zitat von .DeJaVu

    Mich würde noch interessieren, ob bekannt ist, welcher Eintrag in den prefs jetzt den Fehler ausgelöst hatte.

    Haken bei

    Zitat von Zitronella

    Vorherige Sitzung wiederherstellen

    wurde eigentlich auch hier schon gesagt

    Zitat von BrokenHeart

    Weil er da die Einstellung für "Vorherige Sitzung wiederherstellen" deaktiviert hat und dann mit der alten 'prefs.js' wieder hergestellt hat, so wie es "Reimer" vorschlägt.

    und wurde auch verlinkt zu https://github.com/M-Reimer/undoc…browser-session

  • In Erweiterungen funktioniert das 'Wiederherstellen eines geschlossenen Tabs' nicht mehr...

    • Zitronella
    • 27. August 2021 um 20:35
    Zitat von .DeJaVu

    Deswegen hatte ich ja die besagte Erweiterung genannt, um auszuschliessen, dass es an den Erweiterungen selbst liegt.

    aber es scheint auch bei dieser Erweiterung das Problem zu bestehen wenn man diese Bewertung liest.

    Zitat von .DeJaVu

    Ich lasse Firefox in jedem Profil die letzte Sitzung wiederherstellen

    Ist der Haken bei dir unter Einstellungen-> Allgemein--> "Vorherige Sitzung wiederherstellen" gesetzt? Oder stellst du die vorherige Sitzung anders wieder her?

  • In Erweiterungen funktioniert das 'Wiederherstellen eines geschlossenen Tabs' nicht mehr...

    • Zitronella
    • 27. August 2021 um 12:18

    .DeJaVu und was das Spezielle angeht, wurde es bereits ausfindig gemacht. Aber dazu hättest du halt mal wieder den gesamten Thread lesen müssen. :|

  • In Erweiterungen funktioniert das 'Wiederherstellen eines geschlossenen Tabs' nicht mehr...

    • Zitronella
    • 27. August 2021 um 00:16

    🤭

  • In Erweiterungen funktioniert das 'Wiederherstellen eines geschlossenen Tabs' nicht mehr...

    • Zitronella
    • 26. August 2021 um 23:47
    Zitat von BrokenHeart

    Siehe mein Edit in #5...

    ah, hat sich wohl überschnitten.

    Ich nutze übrigens das Skript für kürzlich geschlossene Tabs, vielleicht wäre das auch was für dich anstatt der Erweiterung

    JavaScript
    // ==UserScript==
    // @name           UndoListInTabmenuToo
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    UndoListInTabmenuToo.uc.js
    // @include        main
    // @compatibility  Firefox 69+
    // @author         Alice0775
    // @translator     milupo (into German, version 2019/07/13)
    // @version        2019/06/30 10:00 Bug 1555060 Convert <tabs> to a custom element
    // @version        2019/06/24 23:00 wait for gBrowser initialized
    // @version        2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement
    // @version        2018/05/10 60
    // @version        2017/11/18 nsIPrefBranch to nsIPrefBranch
    // @version        2010/09/18 00:00 4.0b7pre
    // @version        2009/02/03 13:00 ツールチップにタブ内履歴を表示するようにした
    // @Note           タブやコンテキストメニューにもUndoClose Tab Listを追加するもの
    // @OriginalCode   browser.jsからpopulateUndoSubmenuを拝借し, ごにょごにょした
    // @version        2018/05/09 15:00 61
    // ==/UserScript==
    // @version        2010/03/26 13:00  Minefield/3.7a4pre Bug 554991 -  allow tab context menu to be modified by normal XUL overlays
    // @version        2010/03/15 00:00  Minefield/3.7a4pre Bug 347930 -  Tab strip should be a toolbar instead
    // @version        2009/09/09 15:00 中クリック処理
    // @version        2009/09/03 22:00 Firegox3.7a1preで動かなくなっていたのを修正(Bug 489925. getElementById should not return anonymous nodes)
    // @version        2009/08/22 00:00 Firegox3.6 stringbandleの変更による
    // @version        2009/04/24 00:00 #394759 [Firefox:Session Restore]-Add undo close window feature
    // @version        2008/10/12 18:00 Fx3.0.4pre中クリックしたときメニューポップアップが閉じないおよびその他fix
    // @version        2007/10/05 10:00
    
    var UndoListInTabmenu = {
    // -- config --
      TABCONTEXTMENU : true,  //Im Tabkontextmenü: anzeigen: true, nicht anzeigen: false
      CONTEXTMENU    : false,  //Im Hauptkontextmenü: anzeigen: true, nicht anzeigen: false
    // -- config end--
      ss: null,
    
      get tabContext() {
        return document.getElementById("tabContextMenu");
      },
    
      init: function(){
    
        if (this.TABCONTEXTMENU){
          //Tabkontextmenü
          var tabContext = this.tabContext;
          this.makePopup(tabContext, null, "tabContextUndoList");
        }
        if (this.CONTEXTMENU){
          //Hauptkontextmenü
          var contextMenu = document.getElementById("contentAreaContextMenu");
          var refItem = document.getElementById("context-sep-stop");
          this.makePopup(contextMenu, refItem, "ContextUndoList");
        }
        // get closed-tabs from nsSessionStore
        try {
          this._ss = Cc["@mozilla.org/browser/sessionstore;1"].
                     getService(Ci.nsISessionStore);
        } catch(x) {
          this._ss = SessionStore;
        }
    
      },
    
      makePopup: function(popup, refItem, id){
        var menu;
        //label
        const locale = "de";
        
        if (this.getVer() > 3.0) {
          // "Kürzlich geschlossene Fenster"
          menu = document.createXULElement("menu");
          menu.setAttribute("id", "historyUndoWindowMenu3");
          menu.setAttribute("label", "Kürzlich geschlossene Fenster");
          menu.setAttribute("accesskey", "F");
          menu.setAttribute("disabled", "true");
          popup.insertBefore(menu, refItem);
    
          this.historyUndoWindowPopup3 = menu = menu.appendChild(document.createXULElement("menupopup"));
          menu.setAttribute("id", "historyUndoWindowPopup3");
          menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu();");
        }
    
        //UndoClose Tab List  Liste kürzlich geschlossener Tabs
        const LABELTEXT = locale.indexOf("ja") == -1?"Kürzlich geschlossene Tabs":"\u6700\u8fd1\u9589\u3058\u305f\u30bf\u30d6";    //create menu
        menu = document.createXULElement("menu");
        menu.setAttribute("label", LABELTEXT);
        menu.setAttribute("accesskey", "T");
        if (id)
          menu.setAttribute("id", id);
        //menu.setAttribute("disabled", true);
        var menupopup = document.createXULElement("menupopup");
        if (this.getVer()<3) {
          menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);");
        } else if (this.getVer()<3.6) {
          menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu3(this);");
        } else {
          menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu36(this);");
        }
        menu.appendChild(menupopup);
        popup.insertBefore(menu, refItem);
    
        //Eventlistener hinzufügen
        popup.addEventListener('popupshowing',function(event) {
          if (UndoListInTabmenu.getVer() > 3.0)
            UndoListInTabmenu.toggleRecentlyClosedWindows();
          // keine wiederherstellbaren Tabs, sicherstellen, dass das Menü deaktiviert ist und zurückgehen
          if (UndoListInTabmenu._ss.getClosedTabCount(window) == 0) {
            menu.setAttribute("disabled", true);
            //menu.setAttribute("hidden", true);
            return;
          }
            menu.removeAttribute("disabled");
          //menu.setAttribute("hidden", false);
        },false);
      },
    
      /**
       * Befüllen, wenn das Chronik-Menü geöffnet ist  (Fx2)
       */
      populateUndoSubmenu: function(undoPopup) {
    
        // remove existing menu items
        while (undoPopup.hasChildNodes())
          undoPopup.removeChild(undoPopup.firstChild);
    
        // Menü befüllen
        var undoItems = eval("(" + UndoListInTabmenu._ss.getClosedTabData(window) + ")");
        for (var i = 0; i < undoItems.length; i++) {
            var m = undoPopup.appendChild(document.createXULElement("menuitem"));
          m.setAttribute("label", undoItems[i].title);
          m.setAttribute("value", i);
          m.setAttribute("oncommand", "undoCloseTab(" + i + ");");
          m.setAttribute("onclick", "UndoListInTabmenu._undoCloseMiddleClick(event);");
        }
    
        // "In Tabs öffnen"
        var bundleService = Cc["@mozilla.org/intl/stringbundle;1"].
                            getService(Ci.nsIStringBundleService);
        var stringBundle = bundleService.createBundle("chrome://browser/locale/bookmarks/bookmarks.properties");
        undoPopup.appendChild(document.createXULElement("menuseparator"));
        m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", stringBundle.GetStringFromName("cmd_bm_openfolder"));
        m.setAttribute("accesskey", stringBundle.GetStringFromName("cmd_bm_openfolder_accesskey"));
        m.addEventListener("command", function() {
          for (var i = 0; i < undoItems.length; i++)
            undoCloseTab();
        }, false);
      },
    
      /**
        * Einene geschlossenen Tab erneut öffnen und am Ende der Tableiste anfügen.
        * Wird für Mittelklick verwendet.
        * @param aEvent
        *  Ereignis, wenn der Benutzer auf einen Menüeintrag klickt
        */
      _undoCloseMiddleClick: function PHM__undoCloseMiddleClick(aEvent) {
        if (aEvent.button != 1)
          return;
    
        undoCloseTab(aEvent.originalTarget.value);
        gBrowser.moveTabToEnd();
        if (!aEvent.ctrlKey)
          aEvent.originalTarget.parentNode.parentNode.parentNode.hidePopup();
      },
    
      /**
       * Befüllen, wenn das Chronik-Menü geöffnet ist (Fx3)
       */
      populateUndoSubmenu3: function(undoPopup) {
    
        // bestehende Menüeinträge entfernen
        while (undoPopup.hasChildNodes())
          undoPopup.removeChild(undoPopup.firstChild);
    
        // "Alle in Tabs öffnen"
        var strings = gNavigatorBundle;
        m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", strings.getString("menuOpenAllInTabs.label"));
        m.setAttribute("accesskey", strings.getString("menuOpenAllInTabs.accesskey"));
        m.addEventListener("command", function() {
          for (var i = 0; i < undoItems.length; i++)
            undoCloseTab();
        }, false);
    
        undoPopup.appendChild(document.createXULElement("menuseparator"));
    
        // Menü befüllen
        var undoItems = eval("(" + UndoListInTabmenu._ss.getClosedTabData(window) + ")");
        for (var i = 0; i < undoItems.length; i++) {
          var entries = undoItems[i].state.entries;
          var tooltiptext = "";
          for (var j = entries.length - 1; j > -1; j--){
            if (j != entries.length - 1)
              tooltiptext += "\n";
            tooltiptext += parseInt(j + 1, 10) + ". " + entries[j].title;
          }
          var m = document.createXULElement("menuitem");
          m.setAttribute("tooltiptext", tooltiptext);
          m.setAttribute("label", undoItems[i].title);
          if (undoItems[i].image)
            m.setAttribute("image", undoItems[i].image);
          m.setAttribute("class", "menuitem-iconic bookmark-item");
          m.setAttribute("value", i);
          m.setAttribute("oncommand", "undoCloseTab(" + i + ");");
          m.setAttribute("onclick", "UndoListInTabmenu._undoCloseMiddleClick(event);");
          if (i == 0)
            m.setAttribute("key", "key_undoCloseTab");
          undoPopup.appendChild(m);
        }
    
        // "Liste der letzten Tabs löschen"
        undoPopup.appendChild(document.createXULElement("menuseparator"));
    
        m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", "Liste der letzten Tabs löschen");
        m.setAttribute("accesskey", "T");
        m.addEventListener("command", function() {
          var max_undo = UndoListInTabmenu.getPref("browser.sessionstore.max_tabs_undo", "int", 10);
          UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", 0);
          UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", max_undo);
          if (max_undo != UndoListInTabmenu.getPref("browser.sessionstore.max_tabs_undo", "int", 10))
            UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", max_undo);
        }, false);
      },
    
      /**
       * Befüllen, wenn das Chronik-Menü geöffnet ist (Fx3.6)
       */
      populateUndoSubmenu36: function(undoPopup) {
    
        // bestehende Menüeinträge entfernen
        while (undoPopup.hasChildNodes())
          undoPopup.removeChild(undoPopup.firstChild);
    
        // "Alle in Tabs öffnen"
        var strings = gNavigatorBundle;
        m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", strings.getString("menuRestoreAllTabs.label"));
        //m.setAttribute("class", "menuitem-iconic bookmark-item");
        m.setAttribute("accesskey", "A" /*strings.getString("menuRestoreAllTabs.accesskey")*/);
        m.addEventListener("command", function() {
          for (var i = 0; i < undoItems.length; i++)
            undoCloseTab();
        }, false);
    
        undoPopup.appendChild(document.createXULElement("menuseparator"));
    
        // Menü befüllen
        var undoItems = eval("(" + UndoListInTabmenu._ss.getClosedTabData(window) + ")");
        for (var i = 0; i < undoItems.length; i++) {
          var entries = undoItems[i].state.entries;
          var tooltiptext = "";
          for (var j = entries.length - 1; j > -1; j--){
            if (j != entries.length - 1)
              tooltiptext += "\n";
            tooltiptext += parseInt(j + 1, 10) + ". " + entries[j].title;
          }
          var m = document.createXULElement("menuitem");
          m.setAttribute("tooltiptext", tooltiptext);
          m.setAttribute("label", undoItems[i].title);
          if (undoItems[i].image)
            m.setAttribute("image", undoItems[i].image);
          m.setAttribute("class", "menuitem-iconic bookmark-item");
          m.setAttribute("value", i);
          m.setAttribute("oncommand", "undoCloseTab(" + i + ");");
          m.setAttribute("onclick", "UndoListInTabmenu._undoCloseMiddleClick(event);");
          if (i == 0)
            m.setAttribute("key", "key_undoCloseTab");
          undoPopup.appendChild(m);
        }
    
        // "Liste der letzten Tabs löschen"
        undoPopup.appendChild(document.createXULElement("menuseparator"));
    
        m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", "Liste der letzten Tabs löschen");
        m.setAttribute("accesskey", "L");
        m.addEventListener("command", function() {
          var max_undo = UndoListInTabmenu.getPref("browser.sessionstore.max_tabs_undo", "int", 10);
          UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", 0);
          UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", max_undo);
          if (max_undo != UndoListInTabmenu.getPref("browser.sessionstore.max_tabs_undo", "int", 10))
            UndoListInTabmenu.setPref("browser.sessionstore.max_tabs_undo", "int", max_undo);
        }, false);
      },
    
      toggleRecentlyClosedWindows: function PHM_toggleRecentlyClosedWindows() {
        // Untermenü der kürzlichen geschlossenen Fenster aktivieren/deaktivieren
        let undoPopup = this.historyUndoWindowPopup3;
        // keine wiederherstellbaren Fenster, daher Menü deaktivieren
        if (this._ss.getClosedWindowCount() == 0)
          this.historyUndoWindowPopup3.parentNode.setAttribute("disabled", true);
        else
          this.historyUndoWindowPopup3.parentNode.removeAttribute("disabled");
      },
    
      /**
       * Befüllen, wenn das Chronik-Menü geöffnet ist
       */
      populateUndoWindowSubmenu: function PHM_populateUndoWindowSubmenu() {
        let undoPopup = this.historyUndoWindowPopup3;
        let menuLabelString = gNavigatorBundle.getString("menuUndoCloseWindowLabel");
        let menuLabelStringSingleTab =
          gNavigatorBundle.getString("menuUndoCloseWindowSingleTabLabel");
    
        // bestehende Menüeinträge entfernen
        while (undoPopup.hasChildNodes())
          undoPopup.removeChild(undoPopup.firstChild);
    
        // keine wiederherstellbaren Fenster, sicherstellen, dass das Menü deaktiviert wird und zurückgehen
        if (this._ss.getClosedWindowCount() == 0) {
          undoPopup.parentNode.setAttribute("disabled", true);
          return;
        }
        // Menü aktivieren
        undoPopup.parentNode.removeAttribute("disabled");
        let undoItems = JSON.parse(this._ss.getClosedWindowData());
        // "Alle in Fenster öffnen"
        let m = undoPopup.appendChild(document.createXULElement("menuitem"));
        m.setAttribute("label", gNavigatorBundle.getString("menuRestoreAllWindows.label"));
        //m.setAttribute("class", "menuitem-iconic bookmark-item");
        m.setAttribute("accesskey", "W"/*gNavigatorBundle.getString("menuRestoreAllWindows.accesskey")*/);
        m.setAttribute("oncommand",
          "for (var i = 0; i < " + undoItems.length + "; i++) UndoListInTabmenu.undoCloseWindow();");
        undoPopup.appendChild(document.createXULElement("menuseparator"));
        // Menü befüllen
        for (let i = 0; i < undoItems.length; i++) {
          let undoItem = undoItems[i];
          let otherTabsCount = undoItem.tabs.length - 1;
          let label = (otherTabsCount == 0) ? menuLabelStringSingleTab
                                            : PluralForm.get(otherTabsCount, menuLabelString);
          let menuLabel = label.replace("#1", undoItem.title)
                               .replace("#2", otherTabsCount);
          let m = document.createXULElement("menuitem");
          m.setAttribute("label", menuLabel);
          let selectedTab = undoItem.tabs[undoItem.selected - 1];
          if (selectedTab.attributes.image) {
            let iconURL = selectedTab.attributes.image;
            // Keine Verbindung initialisieren, um einfach ein Favicon zu holen (siehe Bug 467828)
            if (/^https?:/.test(iconURL))
              iconURL = "moz-anno:favicon:" + iconURL;
            m.setAttribute("image", iconURL);
          }
          m.setAttribute("class", "menuitem-iconic bookmark-item");
          m.setAttribute("oncommand", "UndoListInTabmenu.undoCloseWindow(" + i + ");");
          if (i == 0)
            m.setAttribute("key", "key_undoCloseWindow");
          undoPopup.appendChild(m);
        }
      },
    
    
      /**
       * Geschlossenes Fenster erneut öffnen.
       * @param aIndex
       *        Der Index des Fensters (via nsSessionStore.getClosedWindowData)
       * @gibt eine Referenz auf das erneut geöffnete Fenster zurück.
       */
      undoCloseWindow: function (aIndex) {
        // get closed-tabs from nsSessionStore
        try {
          ss = Cc["@mozilla.org/browser/sessionstore;1"].
                     getService(Ci.nsISessionStore);
        } catch(x) {
          ss = SessionStore;
        }
        let window = null;
        if (ss.getClosedWindowCount() > (aIndex || 0))
          window = ss.undoCloseWindow(aIndex || 0);
    
        return window;
      },
    
      getPref: function(aPrefString, aPrefType, aDefault){
        var xpPref = Components.classes['@mozilla.org/preferences-service;1']
                      .getService(Components.interfaces.nsIPrefBranch);
        try{
          switch (aPrefType){
            case 'complex':
              return xpPref.getComplexValue(aPrefString, Components.interfaces.nsIFile); break;
            case 'str':
              return xpPref.getCharPref(aPrefString).toString(); break;
            case 'int':
              return xpPref.getIntPref(aPrefString); break;
            case 'bool':
            default:
              return xpPref.getBoolPref(aPrefString); break;
          }
        }catch(e){
        }
        return aDefault;
      },
    
      setPref: function(aPrefString, aPrefType, aValue){
        var xpPref = Components.classes['@mozilla.org/preferences-service;1']
                      .getService(Components.interfaces.nsIPrefBranch);
        try{
          switch (aPrefType){
            case 'complex':
              return xpPref.setComplexValue(aPrefString, Components.interfaces.nsIFile, aValue); break;
            case 'str':
              return xpPref.setCharPref(aPrefString, aValue); break;
            case 'int':
              aValue = parseInt(aValue);
              return xpPref.setIntPref(aPrefString, aValue);  break;
            case 'bool':
            default:
              return xpPref.setBoolPref(aPrefString, aValue); break;
          }
        }catch(e){
        }
        return null;
      },
    
      //Fx-Version ermitteln
        //Fx-Version
      getVer: function(){
        const Cc = Components.classes;
        const Ci = Components.interfaces;
        var info = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
        var ver = parseInt(info.version.substr(0,3) * 10,10) / 10;
        return ver;
      }
    };
    
    // Wir sollten die Weiterleitung nur starten, wenn das Browserfenster den Startprozess abgeschlossen hat
    // Ansonsten sollten wir warten, bis der Start abgeschlossen ist.
    if (gBrowserInit.delayedStartupFinished) {
      UndoListInTabmenu.init();
    } else {
      let delayedStartupFinished = (subject, topic) => {
        if (topic == "browser-delayed-startup-finished" &&
            subject == window) {
          Services.obs.removeObserver(delayedStartupFinished, topic);
          UndoListInTabmenu.init();
        }
      };
      Services.obs.addObserver(delayedStartupFinished,
                               "browser-delayed-startup-finished");
    }
    Alles anzeigen

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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