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

Beiträge von BrokenHeart

  • Menü "Einstellungen" erfordert neuerdings Passwort

    • BrokenHeart
    • 22. Mai 2025 um 14:51
    Zitat von Sören Hentzschel

    Du hast doch jetzt überhaupt erst (Jahre später) die Diskussion darüber gestartet und machst es damit wieder zu einem Thema

    Ja, sorry dafür, dass ich nicht jeden Tag interne Diskussionen bei Mozilla mitverfolge. Ich habe es deswegen angesprochen, weil du Mira_Belle darauf hingewiesen hast, dass es jetzt Hauptpasswort heißt und nicht mehr Masterpasswort. Und du hast den Grund für diese Umbenennung genannt, ohne dass jemand danach gefragt hätte:

    Zitat von Sören Hentzschel

    Hauptpasswort. Den Begriff Masterpasswort gibt es schon seit Jahren nicht mehr, weil es sich dabei um abwertende Sprache handelt.

    Also hast du mit diesem Hinweis den ganzen Sachverhalt erst wieder zum Thema gemacht und nicht ich! Und zu einer Diskussion wird es erst, wenn sich noch jemand zu dem Thema äußert und seine Meinung kundtut.

    Mir ist es einerlei ob es Hauptpasswort oder Masterpasswort heißt, finde Hauptpasswort sogar besser. Mir ging es ausschließlich um diese Begründung, die ich in diesem speziellen Fall nicht für stichhaltig halte. Warum sollte ich das in einem OT nicht auch äußern, wenn du das Thema "abwertende Sprache" schon ansprichst?:/

    Zitat von Sören Hentzschel

    Pro:

    Die sind aber extrem allgemein gehalten...

    Zitat von Sören Hentzschel

    Der alte Begriff war von Anfang an schlecht gewählt, O-Ton Mozilla: „master password never made any sense“. Der neue Begriff ist aussagekräftiger.

    Das hatte ich genau so auch in meinem ersten Beitrag geschrieben.

    Zitat von Sören Hentzschel

    In dem Zeitraum der damaligen Änderung startete eine große öffentliche Bewegung, auf solche Begriffe in Software zu verzichten. Das war keine Idee von irgendeinem Aktivisten. Daran haben sich viele große Unternehmen und Organisationen beteiligt, einschließlich Microsoft, Apple, Google, Linux, Curl, Rust, Python, Drupal, Google, Oracle uns noch viele mehr.

    Dann waren aber nicht alle (die meisten?) Firmen sonderlich gründlich, was den Begriff "Master" angeht. Oder sie haben es eben nur da ausgetauscht/vermieden, wo es im Kontext auch sinnvoll erschien!

    Zitat von Sören Hentzschel

    Contra:

    ?

    Hatte ich geschrieben. Muss man nicht unterschreiben...

  • Menü "Einstellungen" erfordert neuerdings Passwort

    • BrokenHeart
    • 22. Mai 2025 um 13:03

    Wenn Mozilla das so sieht, dann ist es halt so :/. Ich bin der Meinung, dass hier ein neutraler Gebrauch eines Wortes vorliegt. Ob das nun im Umfeld von Software stattfindet oder nicht, ist unerheblich. Es sollte immer auf den Kontext ankommen und wenn man bei dem Wort "Master" einen Bezug zu einem problematischen Begriffspaar herstellt (Master/Slave), wo kein Bezug da ist, dann ist die Begründung irgendwie merkwürdig. Auch in deinem Link wird ja beim Wort "Master" in den Sourcen keine Beziehung zu "Master/Slave" hergestellt, sondern eine "Gender"-Problematik festgestellt.

    Zitat

    "master" is used outside of the "master/slave" context, but it's not gender neutral, so it has its own separate issues.

    Man kann solche Dinge auch übertreiben und dadurch den gegenteiligen Effekt erzielen, nämlich dass Menschen jedwede Sprachregelung aktiv ignorieren. :/

  • Menü "Einstellungen" erfordert neuerdings Passwort

    • BrokenHeart
    • 22. Mai 2025 um 11:05
    Zitat von Sören Hentzschel

    Hauptpasswort. Den Begriff Masterpasswort gibt es schon seit Jahren nicht mehr, weil es sich dabei um abwertende Sprache handelt.

    OT: Hat Mozilla das wirklich so kommuniziert, dass es sich bei einem "Master Password" um abwertende Sprache handelt? Ehrlich gesagt kann ich mir die Begründung "abwertende Sprache" beim besten Willen nicht vorstellen. Vielleicht hat man das eher unbenannt, weil "Primary Password" inhaltlich besser passt. :/

    Bei dem Begriff "Master/Slave" kann ich die Begründung noch einigermaßen nachvollziehen, aber dass jetzt auch schon allein das Wort "Master" abwertend sein soll, entzieht sich meinem Verständnis von Sprache. Die abgespeicherten Seiten-Passwörter stehen doch in keinem abwertenden "Sklaven"-Verhältnis, eigentlich stehen sie in überhaupt keinem Verhältnis zum Hauptpasswort. Das optionale Hauptpasswort hat eine ganz andere Funktion, nämlich einfach einen zusätzlichen (bzw. überhaupt erst einen) Schutz zu bieten, wenn man den Firefox geöffnet hat. Das Hauptpasswort ist also weder hinreichend, noch notwendig für die eigentliche Passwort-Funktionalität des Firefox. Deswegen würde "Primary Password" hier auch besser passen...

    Was ist eigentlich mit dem akademischen "Master"-Abschluss, muss der nicht auch wieder korrekterweise wieder "Diplom" heißen? Wortherkunft jetzt mal außen vorgelassen, durch so einen Quatsch werden dann wirklich abwertende und auch abwertend gemeinte Begriffe ins Lächerliche gezogen.

  • Beenden Button

    • BrokenHeart
    • 17. Mai 2025 um 09:26
    Zitat von Mira_Belle

    Wenn man schon zwei Funktionen "aneinanderheftet" ist es dann nicht besser (gut) wie auch immer,
    wenn man dann den Funktionen "Namen" verpasst?

    Klar kannst du das machen, wenn du das übersichtlicher findest. Da die Funktion aber von nirgendwo anders als beim Start aufgerufen wird, ist es aber auch nicht unbedingt hilfreicher.

    In deinem Beispiel hast du der Funktion aber keinen Namen verpasst, sondern du hast einen "Parameter" übergeben?! :/


    Zitat von lionsson

    Gibt es Performance-Unterschiede (Startgeschwindigkiet, Stabilität,...) zwischen den Optionen einerseits z.B. 100 einzelnen JS-Dateien für 100 Funktionen oder andererseits einer einzigen JS-Datei mit allen Funktionen.

    Die Performance oder Stabilität kannst du ignorieren, da diese Funktionen pro Modul ja nur einmal (beim Start) aufgerufen werden. Da ist es egal, ob sich diese Funktionalität in einer oder mehreren Dateien befindet. Da sind die Unterschiede einmalig(!) bei vielleicht einer 1/100 Sekunde oder noch viel weniger.

  • Beenden Button

    • BrokenHeart
    • 17. Mai 2025 um 08:17
    Zitat von lionsson

    Funktionieren tut das hier (138.0.3), aber: Macht das eigentlich Sinn?

    Ich glaube, dass sich hier die Frage nach der Sinnhaftigkeit gar nicht stellt. Es ist in diesem Fall reine Geschmackssache, ob man das lieber in einer Datei oder in zwei getrennten Dateien haben möchte.

    Das "Aneinanderheften" von Funktionen des Typs...

    JavaScript
    (function () {
      // ...
    }());

    ...kann man durchaus machen, da es sich auf Modulebene dabei um Funktionen handelt, die sich automatisch selber starten ("self- invoking"). Allerdings sollte man es nicht übertreiben und hier beliebige Skripte zusammenführen, die inhaltlich nicht zusammengehören. Auch könnte man sich im konkreten Fall natürlich überlegen, die Funktionalität des Kontextmenü-Eintrags gleich in die erste Funktion zu schreiben.

  • Einbindung von Icons in Skripts

    • BrokenHeart
    • 14. Mai 2025 um 19:37
    Zitat von Mira_Belle

    Hast Du mal einen Link, wonach ich da suchen muss?

    JavaScript modules - JavaScript | MDN
    This guide gives you all you need to get started with JavaScript module syntax.
    developer.mozilla.org
    import - JavaScript | MDN
    The static import declaration is used to import read-only live bindings which are exported by another module. The imported bindings are called live bindings…
    developer.mozilla.org
    Zitat von Mira_Belle

    So etwas wie eine Icon.dll unter Windows?

    Nicht ganz. DLLs sind ja speziell für für die gemeinsame Nutzung von Code durch mehrere unterschiedliche Anwendungsprogramme entwickelt worden Also eine Library, die nicht zur Linkzeit statisch eingebunden wird, sondern eben zur Laufzeit dynamisch.

    Da die userChrome-Skripte aber alle Teil der Firefox-Anwendung sind und bei Javascript auch nichts vorab compiliert bzw. statisch oder dynamsich gelinkt wird, ist es einfach eine anwendungsspezifische "Library" oder eher "Modul" auf Sourcecode-Ebene. So ähnlich wie beim Import von CSS-Dateien.


    Zitat von Horstmann

    Dieses Umschreiben haben wir doch neulich schon durchexerziert, mit den inline events Dingens.
    Was nicht das erste oder letzte Mal ist.

    Das waren aber auch Änderungen, die unbedingt notwendig waren, weil sonst das Skript überhaupt nicht mehr lief. Solche Sachen müssen auch weiterhin überall angepasst werden, wenn man das Skript weiter nutzen möchte. Außerdem halte ich es nicht für sinnvoll, so elementare Dinge wie Eventlistener auszulagern, da sie ja sehr speziell sind. Da kann man nichts verallgemeinern.

    Anderes sieht es bei solchen Sachen wie den Icons bei Buttons aus...

  • Einbindung von Icons in Skripts

    • BrokenHeart
    • 14. Mai 2025 um 18:08
    Zitat von Mira_Belle

    (Mir ist schon klar, dass niemand sich nun alles Skripte vornimmt und sie "umschreibt",
    aber so nach und nach wären wohl viele einheitlich.)

    Das Umschreiben der "Bestandsskripte" würde ich wirklich nicht ins Auge fassen. Wenn sich dann wieder etwas ändert oder eine neue "Verbesserung" anliegt, dann kann man das ganze Procedere wieder von vorne durchexerzieren.

    Wie ich schon geschrieben habe, würde ich für solche Aufgaben einen modularen Aufbau per export/import zB. als .mjs-Datei nutzen, wie es auch Mozilla beim Firefox macht. Und da ja Javascript auch weitestgehend objektorientierte Programmier-Paradigmen unterstützt, könnte man beispielsweise ein Klasse 'ucIcon' definieren, wo die ganze Funktionalität für die benötigten Icons gekapselt wird und die dann über new und einem passenden Konstruktor instanziert wird. So wie es eben in allen anderen objektorientierten Sprachen Standard ist.

    Mit der Zeit könnten dann verschiedene andere Aspekte der userChrome-Skripte als neue Klassen in das Modul hinzugefügt werden. So eine Art "userChromeUtils"-Modul, welches man einfach in jedes Skript per Import einfügen kann.

    Ich würde es ja selber ausprobieren, aber ich habe leider momentan überhaupt keine...............Lust dazu 😴.

    Aber mal schauen.

  • Diskussion über neues Unterforum nur für Skripte

    • BrokenHeart
    • 9. Mai 2025 um 12:38
    Zitat von Horstmann

    - Endor macht einen fantastischen Job, aber ein repository ist mE nicht Teil dieser Diskussion; dort werden Dateien bereitgestellt, nicht diskutiert. Wegen mir sollten die Einzelthemen zu spezifischen Scripts/CSS auch unbedingt im Anpassungsforum bleiben.

    Mal davon abgesehen, dass ich auch in Git über den Code in den 'Issues' diskutieren kann, gibt es ja schon einen Diskussionsthread für alle Skripte hier im Forum. Ein Unterforum mit jeweils einem Thread pro Skript würde exakt das nachbauen, was im Repository von Endor schon existiert :/. Die Threads kann man (meines Wissens) auch nicht alphabetisch sortieren, sondern werden nach dem letztem Beitragsdatum sortiert, also immer wieder anders. Damit wäre auch für die Übersichtlichkeit nichts gewonnen. Und die Übersichtlichkeit geht auch nach einer größeren Zahl von Threads verloren!

    Zitat von Mira_Belle

    Ok, die Skepsis, ja sogar Ablehnung überwiegt.
    Wie Horstmann sehr schön so einige Vorteile beschrieb, wird alles beim Alten bleiben.

    Fragt sich nur, was abgelehnt und was unterstützt werden soll? Ich persönlich lehne in erster Linie ein Unterforum mit irgendwelchen Zutrittsbeschränkungen ab und die Vorgabe, jeweils einen eigenen Thread pro Skript zu erstellen. Es hieß doch, man möchte ein Unterforum nur für die "Perlen" haben, also Dinge die sich als "Best practices" wiederverwenden lassen und man eben nicht über jedes Skript einzeln diskutieren muss. Ein Unterforum oder alternativ einen angepinnten Thread würde ich unter diesen Voraussetzungen auch unterstützen.

    Ziel sollte es doch sein, am Schluss so einer Diskussion, ein wirklich wiederverwendbares Stück Code zu haben, welchen man einfach in neue Skripte integrieren kann. Dafür würde sich eben der Aufbau einer "Library" anbieten, die Lösungen für immer wiederkehrende Aufgaben bereitstellt. Einfach eine Datei importieren und dann die Funktionalität im eigenen Skript nutzen.

    Ich gebe 2002Andreas recht, dass das gleiche auch für CSS gilt. Wir haben sogar schon so einen angepinnten Thread von Sören Hentzschel ....

    Zitat von milupo

    Das ist nun wiederum aus meiner Sicht Quatsch. Du weißt genau, wie die Personaldecke bei den Helfern aussieht. Hier müssen sich Helfer mit Halbwissen zusammenraufen. Ich weiß nicht, wie du dich verstehst, aber der wirklich einzige Entwickler hier im Forum ist Sören. Hier wollen und müssen sich Helfer zusammentun, um hilfesuchenden Nutzern die beste Hilfe bieten zu können.

    Kannst du gerne so sehen und wie ich mich selbst sehe, interessiert hier sicher niemanden...

    Bloß frage ich mich, was es bringen soll, Leute vorab auszuschließen, von denen man gar nicht weiß, ob sie hilfreich sein könnten? Und das gerade bei einer dünnen "Personaldecke"?

    Und was hat ein exklusives Unterforum damit zu tun, ob man sich "zusammenraufen" kann oder nicht? Ich hatte ja im vorherigen Beitrag geschrieben, welche Form von Unterforum oder angepinntem Thread ich auch unterstützen würde. Daher verstehe ich deine Aussage überhaupt nicht!? :/

  • Diskussion über neues Unterforum nur für Skripte

    • BrokenHeart
    • 8. Mai 2025 um 23:35
    Zitat von Mira_Belle

    Ein nicht öffentlicher Unterbereich?

    Puh! Das halte ich für Quatsch. Für mich klingt das nach einem exklusiven Kreis von selbsternannten "Entwicklern". Wer bestimmt denn, wer zu diesem "Foren-Separee" Zutritt bekommt? Gibt es dann neben Administrator/Moderator, noch die Gruppe des gemeinen Entwicklers (nur Leserechte) und des Top-Entwicklers (Lese-/Schreibrechte)? Vielleicht hast du den Vorschlag anders gemeint, aber irgendwie klingt das so und ist in meinen Augen extrem kontraproduktiv.

    Die Unterscheidung zwischen Entwickler/Helfer und "normalem" Anwender halte ich für falsch. Keiner von uns ist wirklich überall zu Hause und jeder, der sich mit individuellen Anpassungen beschäftigt, tut das oft auch auf Code-Ebene und wenn es auch nur das Ändern des Farbcodes oder bestimmter Größenangaben bei einem CSS-Code oder Skript ist. Außerdem ist ein reiner Nutzer eines Skriptes ein sehr wichtiger Aspekt der Entwicklung, weil ja hier die Anforderungen definiert werden und das Skript letztendlich getestet wird.

    Zitat von Mira_Belle

    Es muss, es soll ja auch nicht ein eigenes Unterforum sein, es kann ja auch ein Unterunterforum sein, halt extra nur für
    einzelne Skripte und nicht so ein Durch einander wie bisher, dass in einem Thread dutzende Skript besprochen werden.

    Aber das haben wir doch schon und zwar in Form einer professionellen Versionsverwaltung, die genau für solche Dinge geschaffen wurde:

    GitHub - Endor8/userChrome.js: Skripte für die Firefox-Erweiterung userChromeJS
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com
    Zitat von Horstmann

    Es wäre aber vermutlich trotzdem hilfreich, sowas wie ein Coding Basics Subforum zu haben, für allgemeine und aktuell nötige Diskussionen zu generellen Lösungsansätzen, wie oben schon erwähnt.

    Dem stimme ich zu, obwohl ich mir die Frage stelle, ob nicht jeweils ein eigener Thread für Lösungsansätze zu einem generellen Problem ausreichend ist? :/

    Weil ja hier auch immer von Wiederverwertung und Standardisierung bestimmter Lösungen gesprochen wird:

    Mann könnte ja über export z.B. Funktionen und Variablen(Objekte) in einem externen Modul veröffentlichen, die man dann entweder immer oder nur wenn nötig per import in das eigentliche Skript einfügt. So ließe ich im Laufe der Zeit eine Bibliothek mit fertigen Lösungen erzeugen und man muss nicht jedes Mal den Code dazu einfügen. Also so was wie ein Basis-UserChrome-Skript, wo z.B. die Funktionalität für die Icons eingebunden wird.

    Zitat von bege

    Die weniger aufwändige Möglichkeit, mit der Tendenz des Lebens zum Chaos umzugehen, ist wie bisher mit vertretbarem Zeitaufwand die Forensuche zu nutzen.

    :thumbup:

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

    • BrokenHeart
    • 4. Mai 2025 um 12:13
    Zitat von bege

    Diese Skripte gehen jetzt auch wieder

    Ja, aber im Skript AnimationToggleButton.uc.js ist sehr viel toter bzw. überflüssiger Code. Die Schleife, um die Attribute zum 'button' hinzuzufügen, wurde um Abfragen ergänzt, die niemals true werden. Es gibt im aktuellen Skript die Objektvariablen für die inlineEvents überhaupt nicht mehr, also ist es sinnlos das abzufragen und dafür einen Eventlistener hinzuzufügen.

    Einen Eventlister für oncontextmenu  hinzuzufügen ist nicht notwendig, da in onClick() das Kontextmenü bereits durch die Befehle event.preventDefault() und event.stopPropagation() außer Kraft gesetzt wird.

    Bei onclick ist es sowieso unsinnig, da der Eventlistener ja weiter unten im Code nochmal hinzugefügt wird.

    Habe das mal geändert:

    JavaScript
    // 	28_AnimationToggleButton.uc.js
    // 	v. 0.4.2a
    // 2025-05-03 bege Anpassung and Firefox 138
    // https://www.camp-firefox.de/forum/thema/112673-userchrome-js-scripte-f%C3%BCr-den-fuchs-diskussion/?postID=1271136#post1271136
    // 16.05.24 Endor Anpassung an Firefox 126+
    // https://www.camp-firefox.de/forum/thema/137909
    //	211104:	BrokenHeart zuletzt in:
    //	https://www.camp-firefox.de/forum/thema/133649
    
    (function() {
    
       if (location != 'chrome://browser/content/browser.xhtml')
          return;
    
       try {
    
          CustomizableUI.createWidget({
    
             id: 'animation-button',
             type: 'custom',
             defaultArea: CustomizableUI.AREA_NAVBAR,
    
             onBuild: function(aDocument) {
    
                var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                var attributes = {
                   id: 'animation-button',
                   class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                   removable: 'true',
                   label: 'Animation',
                   tooltiptext: 'Klick li: Gif ∞\nKlick mi: Gif 1x \nKlick re: Gif aus',
                };
                for (var a in attributes) 
                   button.setAttribute(a, attributes[a]);
                
                var animmode = Services.prefs.getCharPref('image.animation_mode');
                button.setAttribute('anim', animmode);
                button.IsOnce = (animmode == 'once');
    						 
                function onClick() {
    
                   var button = document.getElementById('animation-button');
                   function setPref(value) {
                      Services.prefs.setCharPref('image.animation_mode', value);
                   };
                   function getPref() {
                      return Services.prefs.getCharPref('image.animation_mode');
                   };
                   function setIsOnce(value) {
                      var windows = Services.wm.getEnumerator('navigator:browser');
                      while (windows.hasMoreElements()) {
                         windows.getNext().document.getElementById('animation-button').IsOnce = value;
                      };
                   };
    
                   switch (event.button) {
    
                      case 0:
                         var animmode = getPref();
                         setPref('normal');
                         if (button.IsOnce) {
                            BrowserCommands.reloadSkipCache();
                            setIsOnce(false);
                         } else {
                            if (animmode == 'normal')
                               BrowserCommands.reloadSkipCache();
                            else
                               BrowserCommands.reload();
                         };
                         break;
    
                      case 1:
                         setPref('once');
                         BrowserCommands.reloadSkipCache();
                         setIsOnce(true);
                         break;
    
                      case 2:
                         setPref('none');
                         event.preventDefault();
                         event.stopPropagation();    
                         BrowserCommands.reload();
                         break;
                   };
    
                   var windows = Services.wm.getEnumerator('navigator:browser');
                   while (windows.hasMoreElements()) {
                      windows.getNext().document.getElementById('animation-button').setAttribute('anim', getPref());
                   };
                };
    
                //button.setAttribute('onclick', '(' + onClick.toString() + ')();');
                button.addEventListener('click', (event) => {
                   onClick();
                });
    		
                return button;
             }
          });
    
       } catch(e) { };
    
       var css =
          '#animation-button[anim="normal"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4wkNFRE2JfCuMgAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAS6SURBVFjD7ZnNTxtHFMDfm7ENtbGxoV7b2A4gATZ2VEybCyAB5d4qUntLBZcI5dQ/oKcee4l6qBRFgTYqaUqjSFS5tVUrIEJCjQqYDxmIAwUMCV+GxMYfLDs7PQQQjhcKxY03Up60WntmZ/b93pdmdhAAoK2tTQCA9yRJsgEAgoqEUvoCEWc7Ojoet7e3Z/Vjc3Ozh1J6GRE5qFdQluXxgYGBXzjPVFODiB8dKM8Z13JQFwchRAIEjojvNzU1TQHAcgYApZQAAGxXbFeEykKdnHOqJgB30v1H+Xj5b4go6XQ6dxbAwY+UMVWyq92laoudOI9XHg2lzs5OGg6HWX9//0sPwRsmc3Nz1xHxbltbW22GB5REz/TbzhfOP43bxiWOnMRKYhXLpuWGXbJryGdhQkQPANxsaWm5ciyARbRs+Cf8t3QJXeywLWIJWy3WyUnf5NWEJmHME8D2/t2AiJ8dG0LV4ep7R5U/9Mq2frU6Uv1zvsxvsVi+OkwIRJsigDVtjRRtFkWOm6RkoWTasGeI/0cdzlWnrVarCADssMwqPaRj2ZbPLM7ACliBdNaXl+2UhS+FL32t4Zp4rjyiCCBS0XSipWSgIhU1Z1I+WTbtGfPcNj01rdXP1d/IFYQiwGbhpjNpSTqPG/T8wvOaHe3OqZPYkXTM1vxV8yPKyAAAjCvGrcBcoCsXEEQ5SDkJe8KfSoVS0at9aWP63XB5+PKplU845r0j3h7CiXi03bRiWgvMB7oop4nzABwbBtGCqDP4QfCaa8v1sChaFOGE03hp/MKSZenDJE2aTjO5PWV/7B3zfo8yKuaLadm0Vo/1N4OVwWsSSoacAgAAxDQxa0gIfQLC2Se2p+xPvCPeH5DhicluipjW66CuO1gZvMqQGXISQucVW9K26B313iaM7J7m+eJI8dPAQqCLcpp8HQAn1nFb2vakdqy2m0jkTGW2eKn4WWAxcIsCTf1vAAgoX1y92ONOuEeV+oW0MO8d8d4hUmbCnhpisfhZ3d9131Kg6ZwDIKDsX/X3CLNCqGqk6r57xz2RoXxKWPKN+r6j0ulfriTmJXOkJlrzIKcACCj71/x3hFlhBgAAOcpVo1W9roRrEgBA2BWe1I7VdpE9speT5SajYk6q0IHyvjVfrzAjhDLaOcrVI9W9er8+4ph1PKJ7VIQ8yL8ByL51X69txjahCMeRuaZcg3ndM59Ubfwb/l7btG1SzTu0Yz3g2/Dds4WULa+qrxaK65eUY8oesgffhD2yIgDhhJ9346GGHIC3APlK4rQm/c5mzaYzbx+zDHH7uQCiumhV1BH9/G0IvaYQIgAgG7eMa85C54Taqo95xzx75G/WEl3DGItRSouMK8YVz4rnrlotzTlHURQXsks+5/dlWWZqDhPOOTLGfh8aGlrP8sDg4OBGY2PjjYKCglqNRmPknBOVKb+TTqcXh4eH15UXlK8c2TQ0NLj0ev2XL8fySDwe75YkSTV5YTabKwkh3wAAl2X5YRYAIkJra+uvhJDSfQuo6tBj/zhMBgBgjF0nCi4DrVb7BQCI+wOYmq4D5QHgkVar/SnLAwdeaG5udlNKPwaASs65ao5eCSExSZLGS0tLH/T19fF/AGeo9vFEBn4KAAAAAElFTkSuQmCC)} ' +
          '#animation-button[anim="once"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4wkNFQw22pzCLgAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAATOSURBVFjD7VlvTFtVFD/3vtcWWlpAUkrbDazQkWkilfhl+zAahARNZjIT9QMzkS8EPm+wADMxWdRhsk842cYgbsbExWRqBkMGCwrbPpBsisi/V9rCZsBoHGwPKO277x0/sJqxviKVah/Gk7y89+7Nve/8zvmdc++5jwAAVFRUFCPia4wxGyIS0JDwPC9SSr8tLS0daG1tjeknXq/XSyn9EAAoaFcIIn4RDAZPBoPBjQAB4J2o8owhRdSW5jxPkBBAAHjT5XL1AMDYhn5KaSYAwMGDa7o3XheeB9AWgqkpx/x771sXCCEyIr4YAyD6UPhM2GQyMc1xx+FYsQBYF6JUqq2t5Xw+nzw4OAigcd6rit/vP0UI+ay8vHzvBg+oyeqqMXT7tm1+YiJNIgRYScmq2eP5xWkwhPkUYuAIIcUAcKasrKw6riL375sjJ064/HN3+XC07Zu+9LCnxBw6csRfZDKFUgVi8dHdRAg5HJdC5zryA48rH5UfRvUrly4VBFJl/uzs7JN/5lZCbKoA5heeEkdGDCvxJvnyK+OyKKb/zYgn20pzVqs1AgBy9F0VwFqI3/QjOh0ooRCf8Io9Pu4Ya2t77nvG9OGkrRNqjQYD21Q5SQKalsYSsuTkpHO05bgtQilQjtszUVsrPMvzEcN2AVD13LuY4fFETPEGvfJyyGixbD2Ip6acPzY15zJK1783cF2vdHS4p5PhCVUAhCCpq7tXYMuV9U/2FRUyQ3X13YIEVtKJ5hZbhNKNTu0fMEidne5pxvSRpFMIACDX+iC9tTVQeOuW7eexnwwSAaJ4PCH9/v0Lu4zG1fStTC4IzvGmZluIEFClZN81g0Q592TN28Jenpf0SQUAAGCxiMaqKnFPVVXiE/tmHJONx3JDlMKm8dTba2AE3EJNja+Y4yRdUii0XfHN2H0NDXkipWRLmepqb1r4kwvuKVnWSSkH4A84phsa7EuUApfIuJ6etMiFi4mDSAgAIsHuHve0IOTdV+sPBOy+o0fzxGi2SVS6u9MiFz8tEmSZZ/8AAIJXr7qFri7zcstx+6zgsy1tVD4v0NBoX4wXsFuVK1fS127cKJhLKgBEgr29Rb7OrowVAABZJtjS4gzMzNgeAADMztpnGo85fkdMjDZxd8EhiknJQlHl+/oK/R3nzeLj7bIM2NTsCNTXZRhPf2wREVNTW/B/RZtr/YX+cx2WB2q9skyUj05nLgNAyk4yNrVaf3+h/+xZy0MtV2hxPdA/UORvP6NueS2Jqgfm5qxL7e2WpZ1QI9M43CawQ2THnUr85wCoBrHZLMFbh0MpA5efv0a3BcBqXcw8dGjxhf8p9C9RiAAA3rmTvrJrt21RY2e7MD1t+e2x15gamlcUJUgpfXpoWC8NDTsDGja2IknSTTUKNSqK8lDjTEFZlj+oq6ubjd2tIUJlZWUmY+wlnuddGoyLX8Ph8HfDw8OziAj19fW8IAg3AYBTFGWY4BO/ZPbt27fLaDS+CwCIiPdEUTzPGNNMZGRlZbkopW0AgIqiDMUAIISA1+vto5TmrNcDyGnJHYQQBABlfcsjn6KxBQyCTqdrBoDIowGylq6o8gAwotPpPo/xQNQLBw4c2M1x3KsA4NLSr1dK6UPG2GhOTs7Xly9fxj8A10cIqTl/HS8AAAAASUVORK5CYII=)} ' +
          '#animation-button[anim="none"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4wkNFRMXW6/c7gAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAATFSURBVFjD7ZlfTFtVHMd/55z+Adrbv7fg5E9L/4hLpg/GkABJwcb4plnilhg18OBC9rQnn3wyZosQJXswIwzQRRBxWcbcMnSaEf6EhMiDjj9hQssmVMV20FG4QHu59x4fRgnQWwTajUviL2nannPPvb/P7/f9/dLTgwAAfD5fLgC8LAhCHgAgUJARQqIIocmampqp6urqpHnk9XpLCCEnEUIUlGtIkqSRvr6+O5Rud1OFEHoz4TxPqRqosjjUGAsIgCKEXqmoqBgHgD+3ARBCMADAO9Goo/Thw1oKQJQEEGbZnvqCgp8RQoJGoylMAkh8eD4Ws2QLAlGadiyrq8VbpVRbW0v8fr/Y29sLAAAYjphNT083IIQ6fD7f8W0ZkLN1jebxDMv+EtDrZwml2M1xjsL5+TLV+rruMBsTQqgEAJoqKyvfSwmwkpPz6LLH0+xXq5c2B41Gf6nFMvZuIHBGG48zhwTweONdhxB6P6WEbtntV7c5v2HD2dn/DBYW3jis8JvN5rrNgkAoTxYgyjDBAZ0umOomHSbT/ZhWu3xAH9Lq0zabjQcAMfFdFoCXifxW0wKIcZVK2O/DQ2az/3ZJyUWJkOVMZUQWQL2+btgtUjwA0QiCaj8Pmjeb79c5nVe6GSb0o8fTmCkIWQATx+WXrq7mp1p0Ohp9IXsfRbxgNk9eKC7+NoaQCABwW6+P/OB2t9AMQMgXMaX41OzsqQJB0O+ceikeZ6uCwZN7jrzJ9OCC09kWw5jfOt7NMKE7bneLhPFKOgApZcBwXP6Hk5Nn/TbbwIROF9RQSl7kuCJXOPyamucNe7l5xGSaqnO5vl5DSLZebjFMiHg8Ta8HAmexKOoyCgAAoF1bs52YnX37xEGatdEY+NTp/GYlhfMJu8EwYepytb4RCJxBkqTLjITStAWjcabe5brCYRzfy/XfGwx/33W7WyjGq88CYNc+vmg0Bj53uVqjGO+rzXYZDHM9Hk8zxXjtaQJIvzkcbSGW/VXWeYPhQb3T2b64o2D3atcZZq7H5fqSYhx7GgDSPYejrZllJ87b7ddCVuvoNs0bDLOfud1fLRISS0d+143G4FR+/s1MA0gjDkf7ZZb9HQBAQEg673B0hq3WMQCAJYMh0OB2t0QwXs9EDcUJ4TPShTadt9s7m1h2YuuggJD0icPReS4rK9iemzu8cEDZpGv/BSCN2e2dTTbbqNykiJB48dix/sPc4OwmITput3c22mxjSt6hpczAeFHR1UspIq8kk81AxGwev5Sbe+8o7JFlAaQn/xPRIwtwlOzIA8gWcRbPZ38QieQfllN5KyvPpQWg5zj3qxx37n8JPSMJYQCQJvX6kNliGVVa95ljmMmtv2CSAERRXCKE6Lt1ur+6nc4OpUaaUop4nv8jSUKU0muSJIlKlgmlFImieHdwcDCclIH+/v5H5eXljVqt9rhKpWIopVhhznOxWGxmaGgoLDePdh7ZlJWVFeTk5Hz8ZC0NLi8vtwqCoJi6MJlMxRjjLwCASpI0kASAEIKqqqqfMMbWjQgo6tBj4zhMAgAQRbEBy6QM1Gr1RwDAbywQlfRKOA8Aw2q1+rukDCSy4PV6CwkhbwFAMaVUMUevGOMlQRBGrFbrza6uLvovNfXp2AJLOUkAAAAASUVORK5CYII=)}';
       var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
       document.insertBefore(stylesheet, document.documentElement);
    
    })();
    Alles anzeigen
  • Lesezeichen in der Lesezeichen Symbolleiste wird ohne Icon angezeigt

    • BrokenHeart
    • 3. Mai 2025 um 09:32
    Zitat von mgbln39

    Aber es funktioniert nicht. Auch weil für die gefundenen Einträge sich keine Schaltfläche zum ntfernen dieser sichtbar machen lassen.

    :/

    Direkt über der Tabelle befindet sich ein Icon zum Löschen der Zeile.

    Außerdem sieht man ja im Video deutlich, dass das ein Kontextmenü ist und das wird wie üblich über die rechte Maustaste aufgerufen. Das ist doch in jedem Programm so.

    Aber wenn das zu komplex ist, dann ist dein Vorgehen, nämlich auf das Lesezeichen komplett zu verzichten, vielleicht wirklich die beste Lösung. Wobei ich mich frage, warum es nicht reicht, einfach das kaputte FavIcon bei diesem einen Lesezeichen zu ignorieren? :/

  • Mehrere Lesezeichen markieren und in Tabs öffnen nicht möglich?

    • BrokenHeart
    • 1. Mai 2025 um 23:22
    Zitat von Webmark

    In diesem Fall würde ich gerne diese (+-5) Lesezeichen zusammenhängend markieren und in neuen Tabs öffnen.

    Vom Ergebnis her die gleiche Lösung wäre:

    in 'about:config' den Wert browser.bookmarks.openInTabClosesMenu auf "false" setzen.

    Dann bleibt das Menü beim Aufruf eines Lesezeichens mit der [mittleren Maustaste] oder alternativ mit [STRG] + [linke Maustaste] offen und man kann beliebig viele Lesezeichen im Hintergrund in jeweils neuen Tabs öffnen.

  • Lesezeichen in der Lesezeichen Symbolleiste wird ohne Icon angezeigt

    • BrokenHeart
    • 1. Mai 2025 um 13:09
    Zitat von mgbln39

    Kann mir jemand eine genauere Anleitung geben???

    Du hast aber schon #22 genau gelesen, oder? :/

    Ich hatte für dich ein Video (Gif-Anim) erstellt, dafür musst du nur auf das Bild klicken und dann sollte der Vorgang eigentlich leicht nachvollziehbar sein...

  • AddOnLister.uc.js funktioniert in Fx 138 nicht mehr.

    • BrokenHeart
    • 1. Mai 2025 um 10:26
    Zitat von Dharkness

    leider funktioniert das Script AddOnLister.uc.js hier in Fx 138 nicht mehr, gibt es für das Script ein neue Version?

    Noch so ein "schwergewichtiges" Teil ;). Auf jeden Fall ist da dutzendfach die inline-Version: oncommand des 'command'-Eventhandlers verbaut, welcher nicht mehr zulässig ist. Das zu beheben, würde richtig in Arbeit ausarten. :/

    Was sagt denn die Konsole zu dem Skript?

  • YouTube Lesezeichen öffnet nur eine weiße Seite

    • BrokenHeart
    • 1. Mai 2025 um 09:58
    Zitat von black10

    Habe seit dem Update auf die 138.0 Version ein ähnliches Problem mit YouTube.

    In deinem Fall wäre es sinniger, einen eigenen Thread mit deinem Problem aufzumachen, zumal dieser Thread schon als 'erledigt" markiert ist und das Problem auch schon gelöst(!) wurde.

    Des weiteren solltest du bei deinem Screenshot deutlicher machen, was du aus Datenschutzgründen unkenntlich gemacht hast und was wirklich Teil des Problems ist. Schwarz hätte sich hier z.B. als Farbe dafür angeboten. So sieht es auf den ersten Blick aus, als wenn sich ein übergroßes Popup über deinen ganzen Desktop gelegt hätte....

    Da du offensichtlich Anpassungen nutzt, solltest du auf jeden Fall den 'Fehlerbehebungsmodus' einmal aufrufen, um zu schauen, ob da das Problem immer noch besteht. Die drei übergroßen Punkte auf der rechten Seite sind quasi das "noch beschäftigt"-Symbol, bevor YouTube die gesamte Seite geladen hat. Könnte sich um ein Problem mit einem Consent-Blocker handeln?!:/

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 1. Mai 2025 um 00:07
    Zitat von grisu2099

    Teste die Version aus Beitrag #966

    Lieber die Version aus #961 von Endor , da lenny2 nur den übersetzten Teil des japanischen Autors gepostet hat und nicht das ganze Skript! Vielleicht hat Endor auch mittlerweile eine deutsche Übersetzung parat... :/


    Zitat von Mira_Belle

    Und wenn es ganz blöd für Dich läuft, Dich damit auseinandersetzen, dass es keine mehrzeilige Tableiste mehr gibt.

    So pessimistisch würde ich das nicht sehen. Das Problem bei ihm ist, dass er auf der einen Seite ganz exakte, pixelgenaue Anforderungen an das Skript hat, aber auf der anderen Seite absolut nichts selber anpassen kann. Das heißt, der Hamster braucht es wirklich "mundgerecht" ;).

    Ich persönlich bin da allerdings raus...

  • Skript "newTabButtonUndoTabList.uc.js" funktioniert nicht mehr im Nightly - (seit Nightly 139)

    • BrokenHeart
    • 30. April 2025 um 23:57
    Zitat von Sören Hentzschel

    Wenn man ohne diese Option auskommt, sollte man das auch tun, und die Option nur als allerletzten Ausweg betrachten.

    Ja, der Meinung bin ich auch. Function() ist auch eher sinnvoll, wenn man es mit "generischen" Aufrufen zu tun hat und nicht wenn man dadurch nur eine andere Funktion ersetzt.

  • Lesezeichen in der Lesezeichen Symbolleiste wird ohne Icon angezeigt

    • BrokenHeart
    • 30. April 2025 um 23:30
    Zitat von mgbln39

    Könntest Du mir freundlicherweise nochmals eine detailierte Anweisung zukommen lassen, wie ich da vorgehen muss?

    Punkt 1 bis 3 sollten klar sein. Für Punkt 4 und 5 habe ich eine Gif-Animation erstellt:

    Beim Markieren der beiden gefundenen Einträge: [STRG] und linke Maustaste drücken!

  • Firefox 138 - TAB verschieben geht nicht mehr

    • BrokenHeart
    • 30. April 2025 um 22:37

    Ich glaube, du hast den Punkt, um den es eigentlich geht, leider überhaupt nicht verstanden! Ich hatte in der Vergangenheit bisher immer die für dich angepassten Skripte geliefert, aber jetzt hat sich die Situation grundlegend geändert. Nochmal:

    Das Skript 'MultiRowTabs.uc.js", welches du verwendest, wird von meiner Seite nicht mehr weiterentwickelt. Fehlerfrei funktioniert es nur bis FF 137. Ab FF 138 funktioniert das Verschieben nicht mehr und daran wird sich auch nichts mehr ändern!

    Das steht aber alles in dem Link, den ich gepostet habe. Du musst also zwangsläufig auf ein anderes Skript umsteigen. Deine für dich wichtigen optischen Anpassungen der Tabs sind schon in der 'userChrome.css', da muss also nichts neu in einem anderen Skript angepasst werden. Vielleicht können dir Endor , FuchsFan oder 2002Andreas alternative Skriptversionen empfehlen? :/

  • Skript "newTabButtonUndoTabList.uc.js" funktioniert nicht mehr im Nightly - (seit Nightly 139)

    • BrokenHeart
    • 30. April 2025 um 22:08
    Zitat von Mira_Belle

    :D Da hat sich mein edit und Dein Post überschnitten.

    Ja, kommt vor ;).

    Alternativ (oder sogar besser) hätte man auch zweimal let m = ... schreiben können, da beide m nichts miteinander zu tun haben und eh lokal sind.

    Zitat von 2002Andreas

    Der neue Eintrag für die config wurde extra von Mozilla für Nutzer von Skripten ab Fx Version 139 erst erstellt. ;)

    So hatte ich das auch verstanden oder hat Sören Hentzschel was von "temporär" geschrieben? :/

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