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

Beiträge von Mira_Belle

  • Auf mobile.de erscheint immer ein "X"

    • Mira_Belle
    • 12. Oktober 2022 um 13:13
    Zitat von Felix88

    Ich nehme einmal an, es ist uBlock origin.

    Meine Filter sichern und in uBlock löschen!

    Nach und nach neu einrichten.

    Wenn das Löschen auch nichts gebracht hat, zusätzlich Meine Regeln überprüfen.

    Du kannst diese temporär ändern, auch generell löschen, aber vorher sichern!

    Und zu guter Letzt, alle Filterlisten deaktivieren und nach und nach wieder einschalten,

    aber ich denke, das Problem wird schon viel früher gelöst sein. ;)

    Ich tippe auf Meine Filter.

    Toi, toi, toi.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 23:39

    Ich habe mich nicht klar (genau) genug ausgedrückt, Sorry.

    Ich habe alles durch, von 0.9px bis 0.1px, die Strichdicke änderte sich nicht, sie wurde nicht dünner.

    Und wenn Du schreibst, dass der Separator einen Standard-Stil hat, kann es ja sein, dass dieser dazwischen funkt.

    Aber mit dem "Schatten" ist die optische Täuschung ja recht gut.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 23:11
    Zitat von Sören Hentzschel

    0.9px? ;)

    Testest Du mich?

    Bin auch auf diese Idee gekommen, es ändert sich nichts.

    Der Separator in den Pop-ups hat eine bestimmte Dicke (Angabe 1px)

    und beim Unterschreiten dieses Wertes geschieht nichts mehr.

    Deshalb griff ich auf diesen "Trick" zurück.

    Damit kann ich leben.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 22:38

    Habe einen Trick gefunden!

    CSS
        menuseparator {
            border: 1px outset #FFA500 !important;
        }

    SELFHTML: CSS Stylesheets / CSS-Eigenschaften / Rahmen

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 22:19

    Ich zitire mich mal selber!

    Zitat von Mira_Belle

    Wie ist der "umrechnungsfaktor" px zu em?

    Denn im Hamburgermenü sind die Separatoren nur ca. 1/2 pixel "dick".

    Es gibt kein kleiner als 1px!

    Wie Sören schon erklärte, bezieht sich die Einheit em auf, wenn nichts weiter angegeben wird, eben auf 16px.

    Mein Problem?

    Der CSS-Code für die Separatoren der Pop-ups:

    CSS
        menuseparator {
            border: 1px solid #FFA500 !important;
        }

    Und der für die Separatoren des Hamburgermenüs:

    CSS
        .PanelUI-subView toolbarseparator {
            border-top: 1px solid #FFA500!important;
        }

    Diese scheinen nur halb so dick zu sein.

    Nur wie geht das?

    Ich habe mir erst einmal beholfen, in dem ich borter-top auf 2px gesetzt habe!

    So scheinen die Separatoren systemweit gleich zu sein.

    Mir wäre aber lieber, ich bekäme die Separatoren dünner.

    PS:

    Die Farbunterschiede des Hintergrunds und der Schrift sind mir auch aufgefallen und korrigiert.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 21:18
    Zitat von 2002Andreas

    Wenn du das in allen Popup in "farbig" willst, geht es auch kürzer ;)

    CSS
    menuseparator {
       border: 1px solid "farbig" !important;
       padding: 0 !important;
    } 

    Danke für diesen Code!

    Für das Hamburgermenü analog gilt:

    CSS
        #editBookmarkPanel toolbarseparator, 
        .cui-widget-panel toolbarseparator {
            appearance: none !important;
            background: "farbig"  !important;
        }

    Wie ist der "umrechnungsfaktor" px zu em?

    Denn im Hamburgermenü sind die Separatoren nur ca. 1/2 pixel "dick".

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 14:00

    Für jene die hier mitlesen, ich habe hier noch einen Trick.

    Da es ja kein insertAfter() gibt, aber es durchaus Situationen gibt, wo das gebraucht würde.

    Damit wird z.B. ein Separator nach dem element eingefügt wird,

    hänge man einfach an das Element ein .nextSibling an.

    Also würde es z.B. so ausschauen =>

    tabContextMenu.insertBefore(cs_separator , cs_Tab_schließen.nextSibling)

    Hier würde der Separator also nach dem Label "Tab schließen" erscheinen.

    Mein Dank geht an aborix.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 13:37
    Zitat von Sören Hentzschel

    Es gibt mit WebStorm auch noch eine abgespecktere und günstigere Variante: :P

    https://www.jetbrains.com/de-de/webstorm/

    Aber natürlich braucht es für solche Firefox-Spielereien in der Freizeit nicht zwingend eine so gute IDE. Für mich ist das was anderes, da ich damit Minimum acht Stunden täglich arbeite. Da investiert man dann auch entsprechend in gute Werkzeuge. Ich hätte mir das auch nicht nur für Firefox-Anpassungen gekauft. ;)

    Auch diese ist mir, für meine Spielereien, dann auch noch zu teuer.

    Denke Visual Studio Code wird 's tun, nur schau' ich mal, ob es da nicht doch noch ein "besseres Plugin" für JavaScript gibt.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 09:34
    Zitat von Sören Hentzschel

    PhpStorm:

    https://www.jetbrains.com/de-de/phpstorm/


    Das schrieb ich zwar schon ein paar Mal, aber gerne nochmal: ;)

    location.href !== 'chrome://browser/content/browser.xhtml'

    Die Latte, die Du mir dauernd um die Ohren haust muss ja ganz schön was aushalten.

    Hab's begriffen, also nur zum Teil. Sorry

    Damit das Script funktioniert muss auch aus location !=, location.href !== werden.

    Sonst wird das nix mit einem zweiten "=".

    Präg' Dir das ein Mira!


    Das location != ist zu Fehlertolerant, location.href !== ist "strenger".

    PhpStorm ist nur für so zum Spaß dann doch für mich etwas zu "Überdimensioniert". ;)

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 08:58
    Zitat von Sören Hentzschel
    Zitat von Mira_Belle

    Habe, auch durch Anregung von aborix, das Script etwas optimiert.

    Du nutzt keine lokalen Variablen mehr. Das ist in Ordnung. Aber inwiefern ist das optimiert? Ich find's jetzt eher schwerer lesbar, insbesondere dadurch, dass die Zeilenlänge jetzt länger als empfohlen ist (beachte die vertikale Linie): ;)

    ...

    Bei Überschreitung einer gewissen Zeilenlänge müssen die Augen bewegt werden, um die ganze Zeile erfassen zu können.

    Ok, optimiert ist vielleicht nicht unbedingt der richtige Begriff.

    Können wir uns auf komprimiert einigen?

    Wer es so nicht mag, muss es ja nicht übernehmen,

    und es ist ja auch nur ein Test. Die vorhergehende Version habe ich ja noch,

    für den Fall, dass ich in ein paar Tagen nicht mehr weiß, was ich da überhaupt gemacht habe. :D

    Zitat von Sören Hentzschel

    Falls du dich fragst, wieso die location-Zeile in dem Screenshot so merkwürdig dargestellt wird: Genau wegen dieses Vergleiches, der nicht so umgesetzt ist, wie ich es empfohlen hatte: ;)

    Hatte ich mich ehrlich gesagt nicht.

    Mir fällt auch gar nicht auf, dass da etwas merkwürdig dargestellt wird!

    Nur das bei Dir da wohl auf etwas hingewiesen wird.

    Ich nutze "Visual Studio Code" und bei mir sieht es ganz anders aus!

    Also es wird nichts markiert, meine ich.

    Was nutzt Du den für ein Programm, oder welches Plugin?

    ABER, wenn ich

    if (location !== 'chrome://browser/content/browser.xhtml')

    verwende, funktioniert das Script nicht mehr.

    Des halb habe ich ein "=" weg gelassen.

    Nachtrag!

    Im Übrigen verhält es sich in beiden Versionen so!

    Ein zweites "=" in der if (location != 'chrome://browser/content/browser.xhtml')-Zeile,

    also if (location !== 'chrome://browser/content/browser.xhtml')

    und schon funktioniert das Script nicht mehr.

    Mach' ich da was Falsch?

    Fehlt da noch was?

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 10. Oktober 2022 um 07:47

    Blöd ist, wenn man/frau an Schlafstöhrungen leidet.

    Gut ist, wenn man Beschäftigung hat!

    Habe, auch durch Anregung von aborix, das Script etwas optimiert.

    Hier nun die derzeitige Version.

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml') {
        return;
      }
      tabContextMenu.insertBefore(document.getElementById('context_closeOtherTabs'),document.getElementById('context_undoCloseTab'));
      tabContextMenu.insertBefore(document.getElementById('context_closeTabsToTheEnd'), document.getElementById('context_closeOtherTabs'));
      tabContextMenu.insertBefore(document.getElementById('context_closeTabsToTheStart'), document.getElementById('context_closeTabsToTheEnd'));
      tabContextMenu.insertBefore(document.getElementById('context_bookmarkTab'), document.getElementById('context_duplicateTab'));
      tabContextMenu.insertBefore(document.getElementById('context_openTabInWindow'), document.getElementById('context_selectAllTabs'));
      tabContextMenu.insertBefore(document.getElementById('context_moveToEnd'), document.getElementById('context_openTabInWindow'));
      tabContextMenu.insertBefore(document.getElementById('context_moveToStart'), document.getElementById('context_moveToEnd'));
      tabContextMenu.insertBefore(document.getElementById('context_closeTab'), document.getElementById('fbcbdc47-ebd2-42f0-b2bb-7cc902ec2f40_-menuitem-_add-current-tab-menu'));
      tabContextMenu.insertBefore(document.createXULElement('menuseparator'), document.getElementById('context_closeTab')); 
    
      Components.utils.import("resource://gre/modules/Services.jsm");
      let ss =  Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
      let custom_label = {
        init: function() {
          let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
           
            @namespace html url("http://www.w3.org/1999/xhtml");
           
            #context_moveToStart label,
            #context_moveToEnd label,
            #context_openTabInWindow label,
            #context_closeOtherTabs label {
              display: none !important;
            }
    
            #context_moveToStart::after {
              content: "Tab an Anfang verschieben" !important;
              font-size: 13px !important          
            }
    
            #context_moveToEnd::after {
              content: "Tab an Ende verschieben" !important;
              font-size: 13px !important
            }
    
            #context_openTabInWindow::after {
              content: "Tab in neues Fenster verschieben" !important;
              font-size: 13px !important
            }
    
            #context_closeOtherTabs::after {
              content: "Alle anderen Tabs schließen" !important;
              font-size: 13px !important
            }
    
            #context_reloadTab,
            #context_toggleMuteTab,
            #context_pinTab,
            #context_duplicateTab,
            #context_moveTabOptions,
            #context_selectAllTabs,
            #context_closeTabOptions,
            #context_undoCloseTab,
            #_fbcbdc47-ebd2-42f0-b2bb-7cc902ec2f40_-menuitem-_add-current-tab-menu {
              display: none !important;
            }
            #tabContextMenu > menuseparator:nth-child(37) {
              display: none !important;
            }
    
          `), null, null);
          ss.loadAndRegisterSheet(uri, ss.AGENT_SHEET);
        }
      };
      custom_label.init();
    })();
    Alles anzeigen

    Wenn ich jetzt noch auf den CSS-Code verzichten könnte, .... :/

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 9. Oktober 2022 um 22:28

    Danke Sören Hentzschel.

    Ich war sooo nah drann, mh. :/

    Mit = document.createXULElement(' hatte ich schon die ganze Zeit herumgebastelt.

    Nur habe ich dauernd versucht es irgendwie mit ('tabContextMenu > menuseparator:nth-child(XX)

    umzusetzen und habe diesen Thread bestimmt schon vier, fünfmal durchgelesen. 8o

    Ich bin mir FAST sicher, ich wäre noch drauf gekommen. Halt nur fast! :S

    Code
      const cs_separator = document.createXULElement('menuseparator');
    
      tabContextMenu.insertBefore(cs_separator, cs_Tab_schließen);
    
      #tabContextMenu > menuseparator:nth-child(37)

    Nun bin ich fertig, fix und fertig!

    Ich denke, ich lass das JavaScipt jetzt so wie es ist.

    Wobei es schon etwas juckt, herauszufinden, warum das mit der Zeitschleife und dem Umbenennen nicht so will.

    Hier nun der derzeitige finale Code. :D

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml') {
        return;
      }
      const cs_Geschlossenen_Tab_wieder_öffnen = document.getElementById('context_undoCloseTab');
      const cs_Tab_schließen = document.getElementById('context_closeTab');
      const cs_Andere_Tabs_schließen = document.getElementById('context_closeOtherTabs');
      const cs_Linke_Tabs_schließen = document.getElementById('context_closeTabsToTheStart');
      const cs_Rechte_Tabs_schließen = document.getElementById('context_closeTabsToTheEnd');
      const cs_Tab_klonen = document.getElementById('context_duplicateTab');
      const cs_An_Anfang_verschieben = document.getElementById('context_moveToStart');
      const cs_An_Ende_verschieben = document.getElementById('context_moveToEnd');
      const cs_In_neues_Fenster_verschieben = document.getElementById('context_openTabInWindow');
      const cs_Alle_Tabs_auswählen = document.getElementById('context_selectAllTabs');
      const cs_Tab_als_Lesezeichen_hinzufügen = document.getElementById('context_bookmarkTab');
      const cs_Add = document.getElementById('fbcbdc47-ebd2-42f0-b2bb-7cc902ec2f40_-menuitem-_add-current-tab-menu');
      const cs_separator = document.createXULElement('menuseparator');
      
      tabContextMenu.insertBefore(cs_Andere_Tabs_schließen, cs_Geschlossenen_Tab_wieder_öffnen);
      tabContextMenu.insertBefore(cs_Rechte_Tabs_schließen, cs_Andere_Tabs_schließen);
      tabContextMenu.insertBefore(cs_Linke_Tabs_schließen, cs_Rechte_Tabs_schließen);
      tabContextMenu.insertBefore(cs_Tab_als_Lesezeichen_hinzufügen, cs_Tab_klonen);
      tabContextMenu.insertBefore(cs_In_neues_Fenster_verschieben, cs_Alle_Tabs_auswählen);
      tabContextMenu.insertBefore(cs_An_Ende_verschieben, cs_In_neues_Fenster_verschieben);
      tabContextMenu.insertBefore(cs_An_Anfang_verschieben, cs_An_Ende_verschieben);
      tabContextMenu.insertBefore(cs_Tab_schließen, cs_Add);
      tabContextMenu.insertBefore(cs_separator, cs_Tab_schließen);
    
      Components.utils.import("resource://gre/modules/Services.jsm");
      let ss =  Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
      let custom_label = {
        init: function() {
          let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
           
            @namespace html url("http://www.w3.org/1999/xhtml");
           
            #context_moveToStart label {
              display: none !important;
            }
            #context_moveToStart::after {
              content: "Tab an Anfang verschieben" !important;
              font-size: 13px !important;
            }
            #context_moveToEnd label {
              display: none !important;
            }
            #context_moveToEnd::after {
              content: "Tab an Ende verschieben" !important;
              font-size: 13px !important;
            }
            #context_openTabInWindow label {
              display: none !important;
            }
            #context_openTabInWindow::after {
              content: "Tab in neues Fenster verschieben" !important;
              font-size: 13px !important;
            }
            #context_closeOtherTabs label {
              display: none !important;
            }
            #context_closeOtherTabs::after {
              content: "Alle anderen Tabs schließen" !important;
              font-size: 13px !important;
            }
            #context_reloadTab,
            #context_toggleMuteTab,
            #context_pinTab,
            #context_duplicateTab,
            #context_moveTabOptions,
            #context_selectAllTabs,
            #context_closeTabOptions,
            #context_undoCloseTab,
            #_fbcbdc47-ebd2-42f0-b2bb-7cc902ec2f40_-menuitem-_add-current-tab-menu {
              display: none !important;
            }
            #tabContextMenu > menuseparator:nth-child(37) {
              display: none !important;
            }
    
          `), null, null);
          ss.loadAndRegisterSheet(uri, ss.AGENT_SHEET);
        }
      };
      custom_label.init();
    })();
    Alles anzeigen
  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 9. Oktober 2022 um 18:16
    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml') {
        return;
      }
    ...
      setTimeout(() => {
        cs_openTabsOriginal.setAttribute('label', 'Tab in neues Fenster verschieben');
        cs_openTabsCopy.setAttribute('label', 'Tab in neues Fenster verschieben');
      }, 1000);
    
      tabContextMenu....
    Alles anzeigen

    Ich kann mich drehen und wenden wie ich will, bei mir funktioniert das warum auch immer nicht!

    Ist aber nicht schlimm, da nicht wichtig.

    Habe es ja mit CSS-Code hinbekommen.

    Einzig das mit dem Separator wurmt mich!

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 9. Oktober 2022 um 15:28
    Zitat von harff182

    :/ Du löschst in Zeilen 76ff einen Separator.

    Haste schon versucht, den zu verschieben?

    Ja,

    und versucht, ihn zu kopieren.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 9. Oktober 2022 um 14:04
    Zitat von Sören Hentzschel

    Dir ebenfalls einen schönen Sonntag. Denk dran: Sonntag ist Ruhetag. Keine Firefox-Basteleien. ;)

    Danke.

    Kann das Basteln aber einfach nicht sein lassen.

    Das Ergebnis ist ein komplett umgemodeltes Tab-Pop-up-Menü.

    Leider hat das mit ...

    JavaScript
      setTimeout(() => {
        cs_openTabsOriginal.setAttribute('label', 'Tab in neues Fenster verschieben');
        cs_openTabsCopy.setAttribute('label', 'Tab in neues Fenster verschieben');
      }, 1000);

    ... hingehauen und es war auch egal, ob ich den Wert raufgesetzt habe.

    Mal wurde das neue Label übernommen, ein anderes Mal nicht.

    Und überhaupt funktionierte es acu nur,

    wenn if (location !== auf if (location != geändert wurde.

    Also habe ich für die Änderungen der Labels den von 2002Andreas bereitgestellten

    CSS-Code eingebunden, aber halt nicht nur den!

    Ich wollte ja nicht, dass der CSS-Code über mehrere Dateien verstreut ist.

    Hier das "Kunstwerk":

    JavaScript
    (function() {
      if (location.href != 'chrome://browser/content/browser.xhtml') {
        return;
      }
    
      const cs_Geschlossenen_Tab_wieder_öffnen = document.getElementById('context_undoCloseTab');
      const cs_Tab_schließen = document.getElementById('context_closeTab');
      const cs_Andere_Tabs_schließen = document.getElementById('context_closeOtherTabs');
      const cs_Linke_Tabs_schließen = document.getElementById('context_closeTabsToTheStart');
      const cs_Rechte_Tabs_schließen = document.getElementById('context_closeTabsToTheEnd');
      const cs_Tab_klonen = document.getElementById('context_duplicateTab');
      const cs_An_Anfang_verschieben = document.getElementById('context_moveToStart');
      const cs_An_Ende_verschieben = document.getElementById('context_moveToEnd');
      const cs_In_neues_Fenster_verschieben = document.getElementById('context_openTabInWindow');
      const cs_Alle_Tabs_auswählen = document.getElementById('context_selectAllTabs');
      const cs_Tab_als_Lesezeichen_hinzufügen = document.getElementById('context_bookmarkTab');
      const cs_1= document.getElementById('tabContextMenu > menuseparator:nth-child(36)');
    
      tabContextMenu.insertBefore(cs_Andere_Tabs_schließen, cs_Geschlossenen_Tab_wieder_öffnen);
      tabContextMenu.insertBefore(cs_Rechte_Tabs_schließen, cs_Andere_Tabs_schließen);
      tabContextMenu.insertBefore(cs_Linke_Tabs_schließen, cs_Rechte_Tabs_schließen);
      tabContextMenu.insertBefore(cs_Tab_als_Lesezeichen_hinzufügen, cs_Tab_klonen);
      tabContextMenu.insertBefore(cs_In_neues_Fenster_verschieben, cs_Alle_Tabs_auswählen);
      tabContextMenu.insertBefore(cs_An_Ende_verschieben, cs_In_neues_Fenster_verschieben);
      tabContextMenu.insertBefore(cs_An_Anfang_verschieben, cs_An_Ende_verschieben);
      tabContextMenu.insertBefore(cs_Tab_schließen, cs_Geschlossenen_Tab_wieder_öffnen);
    
      Components.utils.import("resource://gre/modules/Services.jsm");
      let ss =  Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
      let custom_label = {
        init: function() {
          let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
           
            @namespace html url("http://www.w3.org/1999/xhtml");
           
            #context_moveToStart label {
              display: none !important;
            }
            #context_moveToStart::after {
              content: "Tab an Anfang verschieben" !important;
              font-size: 13px !important;
            }
            #context_moveToEnd label {
              display: none !important;
            }
            #context_moveToEnd::after {
              content: "Tab an Ende verschieben" !important;
              font-size: 13px !important;
            }
            #context_openTabInWindow label {
              display: none !important;
            }
            #context_openTabInWindow::after {
              content: "Tab in neues Fenster verschieben" !important;
              font-size: 13px !important;
            }
            #context_closeOtherTabs label {
              display: none !important;
            }
            #context_closeOtherTabs::after {
              content: "Alle anderen Tabs schließen" !important;
              font-size: 13px !important;
            }
            #context_reloadTab,
            #context_toggleMuteTab,
            #context_pinTab,
            #context_duplicateTab,
            #context_moveTabOptions,
            #context_selectAllTabs,
            #context_closeTabOptions,
            #context_undoCloseTab,
            #_fbcbdc47-ebd2-42f0-b2bb-7cc902ec2f40_-menuitem-_add-current-tab-menu
            {
              display: none !important;
            }
            #tabContextMenu > menuseparator:nth-child(36) {
              display: none !important;
            }
    
          `), null, null);
          ss.loadAndRegisterSheet(uri, ss.AGENT_SHEET);
        }
      };
      custom_label.init();
    
    })();
    Alles anzeigen

    Was ich leider nicht hinbekommen habe ist,

    zwischen "Alle anderen Tabs schließen" und "Tab schließen" einen Separator einzufügen.

    Kann mir da noch jemand helfen?

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 8. Oktober 2022 um 17:53
    Zitat von Sören Hentzschel

    Meine Script-Erklärungen in Beitrag #16 waren wohl nutzlos. ;( Dabei muss man sogar nur den Namen der Funktion Document.getElementById() lesen, der ja auch nur normales Englisch ist, um zu sehen, was an dieser Stelle passiert: Man gibt eine ID an und erhält das Element dafür zurück. Da wird weder etwas verschoben noch in sonst einer Weise geändert. Der Teil muss also überhaupt nicht ersetzt werden.

    Wie ich bereits schrieb, findet das Verschieben als Teil der Node.insertBefore()-Methode statt, wenn ein existierendes statt ein neu erstelltes Element als erster Parameter übergeben wird. Verwende Node.cloneNode() zum Duplizieren des Original-Elements:

    JavaScript
    tabContextMenu.insertBefore(cs_openTabs.clondeNode(), cs_AllTabs);

    Zu beachten ist, dass das Original und Duplikat nicht automatisch synchron gehalten werden. Damit:

    JavaScript
    cs_openTabs.setAttribute('label', 'Tab in neues Fenster verschieben');

    … wird also nur der Original-Eintrag umbenannt. Die Komplettlösung sieht dementsprechend beispielsweise so aus:

    JavaScript
    (function() {
      if (location.href !== 'chrome://browser/content/browser.xhtml') {
        return;
      }
    
      const cs_AllTabs = document.getElementById('context_selectAllTabs');
      const cs_openTabsOriginal = document.getElementById('context_openTabInWindow');
      const cs_openTabsCopy = cs_openTabsOriginal.cloneNode();
    
      setTimeout(() => {
        cs_openTabsOriginal.setAttribute('label', 'Tab in neues Fenster verschieben');
        cs_openTabsCopy.setAttribute('label', 'Tab in neues Fenster verschieben');
      }, 1000);
    
      tabContextMenu.insertBefore(cs_openTabsCopy, cs_AllTabs);
    })();
    Alles anzeigen

    Auch von mir ein ganz <3 liches Danke.

    Die Script-Erklärungen in Beitrag #16 waren nicht gänzlich vergebens,

    nur das mit dem Node.insertBefore(), damit konnte ich nicht wirklich was anfangen.

    Jetzt hast Du nochmal nachgelegt und ich hoffe, ich habe es jetzt kampiert.

    Einen schönen Sonntag noch.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 8. Oktober 2022 um 15:16
    Zitat von 2002Andreas
    Zitat von Mira_Belle

    Script a. optimieren und b. beide zusammen bringen

    JavaScript
    ....

    8| :D

    Einfach mal zusammen geklatscht.

    Darauf bin ich einfach nicht gekommen.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 8. Oktober 2022 um 13:30

    Weder var noch const oder auch let ändert den Eintrag.

    Einzig das (eingebettete) CSS ändert das Label.

    Ist ja auch nicht schlimm. Es funktioniert hat auf andere weise.

    Und mir sind die obigen Fragen wichtiger.

    Aber Danke für Deine Mühen.

    Wie kann man das 2. Script a. optimieren und b. beide zusammen bringen

    und durch was muss = document.getElementById( ersetzt werden,

    damit der Eintrag nicht verschoben, sondern kopiert (geklont) wird.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 8. Oktober 2022 um 12:36
    Zitat von 2002Andreas

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml')
        return;
    
        let cs_AllTabs = document.getElementById('context_selectAllTabs');
        let cs_openTab = document.getElementById('context_openTabInWindow');    
    
          setTimeout(() => {
        cs_openTab.setAttribute('label', 'Tab in neues Fenster verschieben');
      }, 1000);
        
        tabContextMenu.insertBefore(cs_openTab, cs_AllTabs);
    })();
    Alles anzeigen

    Glaube Dir ja, aber bei mir funktioniert es so nicht!

    Deshalb habe ich ja das zweite Script erstellt,

    im Übrigen von dem Scrollbar.us.js inspiriert.

    Es bleiben also weiterhin meine obigen Fragen offen.

    Wie man das 2. Script a. optimieren und b. beide zusammen bringen kann

    und durch was = document.getElementById( ersetzt werden muss,

    damit Eintrag nicht verschoben, sondern kopiert (geklont) wird.

  • Eintrag im (Tab)Kontextmenü verschieben

    • Mira_Belle
    • 8. Oktober 2022 um 12:13

    Habe auch etwas gebastelt!

    1. Das Script um den Eintrag zuverschieben.

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml')
        return;
        let cs_AllTabs = document.getElementById('context_selectAllTabs');
        let cs_openTab = document.getElementById('context_openTabInWindow');
        tabContextMenu.insertBefore(cs_openTab, cs_AllTabs);
    })();

    2. Ein Script um das "Label" zu ändern. (Habe 2002Andreas Code in ein JavsScript eingebettet, ist nur ein Test!)

    JavaScript
    Components.utils.import("resource://gre/modules/Services.jsm");
    let ss =  Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
    let custom_label = {
      init: function() {
        let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
         
          @namespace html url("http://www.w3.org/1999/xhtml");
         
          #context_openTabInWindow label {
            display: none !important;
          }
          #context_openTabInWindow::after {
            content: "Tab in neues Fenster verschieben" !important;
            font-size: 13px !important;
          }
        `), null, null);
        ss.loadAndRegisterSheet(uri, ss.AGENT_SHEET);
      }
    };
    custom_label.init();
    Alles anzeigen


    Wenn mir jetzt noch jemand verraten könnte, wie man das 2. Script a. optimieren und b. beide zusammen bringen kann,

    wäre ich häppy


    Zitat von Sören Hentzschel

    Dann wird das ein Timing-Problem sein, weil das Script den Text vermutlich setzt, bevor Firefox das macht. Versuch es mit etwas Verzögerung:

    JavaScript
    (function() {
      if (location !== 'chrome://browser/content/browser.xhtml') {
        return;
      }
    
      const cs_AllTabs = document.getElementById('context_selectAllTabs');
      const cs_openTabs = document.getElementById('context_openTabInWindow');
    
      setTimeout(() => {
        cs_openTabs.setAttribute('label', 'Tab in neues Fenster verschieben');
      }, 1000);
    
      tabContextMenu.insertBefore(cs_openTabs, cs_AllTabs);
    })();
    Alles anzeigen

    Hatte den Wert setTimeout(() => { ... sogar auf 50000 erhöht, passierte aber nichts.

    Mit dem CSS-Code von 2002Andreas klappt es aber.


    Und eine letzte Frage!

    Um einen Eintrag zu kopieren (klonen)

    muss = document.getElementById( durch was ersetzt werden?

Unterstütze uns!

Jährlich (2025)

105,8 %

105,8% (687,41 von 650 EUR)

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