UserCSSLoader (2025)

  • Das nutze ich nicht...:saint: habe auch gar kein Icon vom Popupmenü dazu.
    Den Chromeordner öffne ich via ExtraConfigMenu.uc.js

    Ist denn deine Version aus #4647 nun schon komplett? Der Beitrag wurde ja 2 x editiert.

  • Nein. Was fehlt steht ja im erwähnten Beitrag .
    Ansonsten funktioniert das Script einwandfrei.
    Funktioniert das Script extraconfigmenu.uc.js bei Dir
    ohne CSP zu deaktivieren noch? Weil bei mir wird alles angezeigt
    aber bei klick tut sich nichts. Egal ob mit oder ohne CSP.

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • So hatte ich das im April auch eingestellt.

    Endor Ich teste mal dein Script und gucke, ob mir was daran fehlt. Immerhin wäre es dann auf dem neuesten Stand. ;)

    In Zeile 376 steht        let sep = $("usercssloader-ucsepalator");

    Ist das korrekt oder muss es ucseparator heißen?

  • Ich habe jetzt einfach mal meinen Code aus dem alten Script in Endors hineinkopiert und es funktioniert alles wie vorher.

    Das ist dann Zeile 38 - 51


    Meine CSS-Datei dafür

  • Speravir 22. August 2025 um 00:09

    Hat den Titel des Themas von „UserCSSLoader (Anfang 2025)“ zu „UserCSSLoader (2025)“ geändert.
  • Habe eine funktionierende Version vom usercssloader.uc.js auf Basis einer
    Version aus den asiatischen Tiefen gemacht.

    Oh … :whistling:

    Ich hab die Änderungen aus der vorigen Version (UserCSSLoader.uc.js bei Endor) wieder eingebaut inklusive des Konfigurationsteils und einigen Fehlerkorrekturen (an einer Stelle fehlte sicher eine Semikolon, in einer anderen kann man es weglassen, glaube ich, es ist aber besser, es zu setzen; plus Rechtschreib-/Tippfehler, zum Teil von mir selber aus der Vorgängerversion).

    Im Moment fehlt noch der Eintrag zum öffnen des Chromeordners
    und die Möglichkeit zur Verwendung eines alternativen Dateimanagers.
    Also anstelle vom Explorer zbs. den Totalcomander.

    Bei mir funktioniert es. (Bis auf das:) Wenn ich mich aber recht erinnere, ging schon beim letzten Mal die Sache mit den Dateimanagerparametern nicht, vielleicht will sich BrokenHeart das mal ansehen? Ich nutze daher eine Windows-Verknüpfung (.LNK-Datei), in Linux und MacOS würde man wohl eine Shell-Datei einsetzen. Eine Tastenkombi musste auch wieder eingefügt, dabei aber geändert werden, bei einer anderen war mir nicht aufgefallen, dass meine Änderung schon vergeben war, Details bei Anfrage und vielleicht fällt anderen eine weitere Kollision auf.

    Den CSS-Tester und alle dazugehörigen Codeteile habe ich wieder herausgeworfen: Erstens ist das in der Skript-Vorlage sowieso standardmäßig deaktiviert und zweitens erhielt ich nach Aktivierung nur leere Fenster ohne Inhalt, was aber, sofern ich die Fehlerkonsole nicht missverstehe, an meinen Schutzeinstellungen im Firefox liegen könnte.

    BrokenHeart , die Bemerkung, dass Deine Änderung obsolet sei, bezieht sich auf diese von Januar dieses Jahres, wo Du die benötigten Eventlistener über eine Funktion eingebaut hast. Das ist in der aktuellen Version nicht mehr notwendig.

    In Zeile 376 steht let sep = $("usercssloader-ucsepalator");

    Ist das korrekt oder muss es ucseparator heißen?

    Ja, das ist ein Tippfehler, der mir ebenso auffiel und den ich auch geändert habe. Es betrifft hier aber eine ID und die könnte irgendeinen auch völlig kryptischen Namen erhalten, solange sie eindeutig ist, was hier der Fall ist (diese ID mit Tippfehler wird bereits weiter vorn erzeugt/zugeordnet, in Z. 179).

  • Speravir Wow, toll das Du dich dem Skript angenommen hast.
    Denn ich beschäftige mich auch schon länger damit und steige da nicht wirklich durch,
    bzw. weiß einfach nicht wie ich die enthaltenen Fehler korrigieren kann und soll.

    Aber auch in Deiner überarbieteten Version sind leider noch einige dieser Bugs und auch "Codeleichen" enthalten!

    So werden die Variablen "Cu" und "Cr" niemals aufgerufen, sind aber definiert.
    Und auch mit const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; komme ich nicht so wirklich zurecht,
    XUL mag eventuell noch gehen, wird aber so nach und nach ersetzt.
    XML User Interface Language – Wikipedia

    Was ich auch nicht in den Griff bekommen habe, bzw, wo ich nicht weiter weiß, es sollte eigentlich ein neues Menü "CSS"
    in der Menüleiste erzeugt werden. Tut es aber nicht!!
    Hängt wahrscheinlich mit der der veralteten Schnittstelle zusammen (XUL).

    Aus dem Menü hast Du ja zwei "Eintrage" rausgeschmissen, gut, denn ich wusste nicht, ob ich das machen sollte oder nicht.

    function CSSEntry(aFile) {

    " "CSSEntry" ist deklariert, aber der zugehörige Wert wird nie gelesen."

    Aus :

    JavaScript
    function CSSEntry(aFile) {
    	this.path = aFile.path;
    	this.leafName = aFile.leafName;
    	this.lastModifiedTime = 1;
    	this.SHEET = /^xul-|\.as\.css$/i.test(this.leafName) ?
    		Ci.nsIStyleSheetService.AGENT_SHEET:
    		/\.author\.css$/i.test(this.leafName)?
    			Ci.nsIStyleSheetService.AUTHOR_SHEET:
    			Ci.nsIStyleSheetService.USER_SHEET;
    }

    habe ich

    gemacht, weil VS-Code gemault hat!
    Ob das richtig ist, ganz ehrlich, ich weiß es nicht!

    CSSTester hast Du ja ganz rausgeschmissen, da maulte VS-Code nämlich auch.

    Und dann wäre da noch die Zahl 0664.
    Wird im VS-Code als Fehler markiert!

    Oktale Literale sind nicht zulässig. Verwenden Sie die Syntax "0o664".

    Wenn ich könnte, würde ich ja das Skript, bzw. dessen Funktion CSS ein und auszuschalten,
    komplett neu machen und/oder den dafür nötigen Code isolieren und in ein anderes, meiner Meinung nach,
    besseres Skript überführen!
    Bei dem ich auch zurechtkomme, z.B. dem Appmenü-Skript oder eben irgendein anderes Skript,
    welches eh schon ein Menü generiert.

    Und was mich an diesem Skript auch stört, dass man auf die Funktionen nur per CSS irgendwie zugänglich machen kann.
    Das ist m.M. eine Krücke.

    Mit <3lichem Gruß

    Mira

  • Hallo Speravir.
    Dieser Tippfehler ist schon in der ersten Version dieses Scripts,
    also vor 14 Jahren enthalten. Hatte sogar Aborix diesbezüglich
    mal gefragt ob man das ändern müsste er sagte da spezifiziert nicht nötig.

    Deine Version oben ist prima. Funktioniert soweit alles.
    :thumbup::thumbup:
    Eine Frage dazu noch, in unserem Original konnte man auch mit
    Mittelklick auf die Schaltfläche die Stile importieren. Das geht weder
    bei der von mir noch bei Deiner Version. Ließe sich das eventuell
    noch einbauen. Das hatte Aborix seinerzeit auch eingefügt.

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • So werden die Variablen "Cu" und "Cr" niemals aufgerufen, sind aber definiert.

    Das ist richtig. Man kann sogar die komplette Zeile weglassen, weil Cc, was im Script genutzt wird, standardmäßig von Firefox exportiert wird.

    Und auch mit const XULNS = "http://www.mozilla.org/keymaster/gate…ere.is.only.xul"; komme ich nicht so wirklich zurecht,
    XUL mag eventuell noch gehen, wird aber so nach und nach ersetzt.
    XML User Interface Language – Wikipedia

    Nicht für alls gibt es eine Entsprechung in HTML. Wenn XUL-Elemente erzeugt werden sollen - und das Script erzeugt eindeutig XUL-Elemente, menupopup und menuseparator gibt es in HTML nicht -, muss auch der entsprechende Namespace genutzt werden. Man könnte statt document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul') einfach document.createXULElement() verwenden, aber das ist genau das Gleiche. Da steckt das XUL halt schon im Namen der Methode.

    Was ich auch nicht in den Griff bekommen habe, bzw, wo ich nicht weiter weiß, es sollte eigentlich ein neues Menü "CSS"
    in der Menüleiste erzeugt werden. Tut es aber nicht!!
    Hängt wahrscheinlich mit der der veralteten Schnittstelle zusammen (XUL).

    Gegenfrage: Wie möchtest du das ohne diese „veraltete Schnittstelle“ machen?

    " "CSSEntry" ist deklariert, aber der zugehörige Wert wird nie gelesen."

    Im Script von Speravir? Doch, da wird CSSEntry verwendet.

    gemacht, weil VS-Code gemault hat!
    Ob das richtig ist, ganz ehrlich, ich weiß es nicht!

    Du hast halt eine Klasse daraus gemacht. Das war weder notwendig noch schadet es.

    Und dann wäre da noch die Zahl 0664.
    Wird im VS-Code als Fehler markiert!

    Oktale Literale sind nicht zulässig. Verwenden Sie die Syntax "0o664".

    Stimmt. Mit 0o als Präfix wäre auch die Syntax, die im Firefox im eigenen JavaScript-Code verwendet, nur mit 0 gibt es nur im C++-Code von Firefox. Die Rechte werden dementsprechend nicht so vergeben, wie es im Script vorgesehen ist. Das habe ich auch geprüft: Die Rechte sind nach dem Anlegen des Ordners nicht 664, sondern 644. Ob das in der Praxis für diesen konkreten Anwendungsfall überhaupt notwendig ist, die Rechte auf 664 zu setzen, weiß ich nicht. In jedem Fall ist der Aufruf falsch.

  • Sören Hentzschel Danke für Deine Erläuterungen.
    Hilft mir leider nur wenig, weil ich einfach zu wenig JS kann.

    Aber es könnte anderen helfen, die etwas besser in JS sind.

    Meine Idee ist aber immer noch, den Code für die Funktion (CSSLoad) zu exportieren,
    und in einem anderen, einfacher aufgebautem Skript zu nutzen.


    Gegenfrage: Wie möchtest du das ohne diese „veraltete Schnittstelle“ machen?

    Ich habe keine Ahnung, und diese Erklärung war ja von meiner Seite auch nur ein Schuss ins Blaue.
    Deiner Aussage entnehme ich, dass dieser Fehler dann wohl andere Gründe hat.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (22. August 2025 um 10:38) aus folgendem Grund: Ein Beitrag von Mira_Belle mit diesem Beitrag zusammengefügt.

  • Bei der Version RE: UserCSSLoader (2025) von Speravir (danke für die "Runderneuerung"!) habe ich die Zeile 155 entsprechend der letzten Version im Github von Endor angepasst. Damit funktioniert das Laden der Styles mit Mittelklick wieder.

    Schon mit Endors Version hat seit kurzem komischer Weise das Öffnen des CSS-Ordners mit meinem alternativen Dateimanager nicht mehr funktioniert. Ich kann nicht sagen, wann das begonnen hat, mit Fx 135 ging es auf jeden Fall noch. Ich bekam die Windows-Fehlermeldung, dass das System den Pfad "...\CSS\undefined" nicht finden kann. Mit dem Windows-Explorer tritt der Fehler nicht auf.

    Als Behelfslösung habe ich dafür ab Zeile 398 eine eigene Funktion eingefügt und den Aufruf entsprechend in Zeile 192 geändert. Vielleicht findet jemand eine bessere Lösung.

    Bei den acceltext muss jeweils das "Alt + " weg. Der Shortcut ist nur der Buchstabe ohne Alt-Taste.
    Weiß jemand, warum der Shortcut (X) für das Öffnen des Chrome-Ordners auch dann angezeigt wird, wenn acceltext auskommentiert ist, bei den anderen Einträgen aber nicht? Der Unterschied zu den anderen Menüeinträgen ist die if-Bedingung.

    Sonst scheint alles wieder zu funktionieren.

    Edit: Entsprechend der Anmerkung von Sören Hentzschel die Zeile 72 auskommentiert.

    Einmal editiert, zuletzt von bege (22. August 2025 um 23:26)

  • Dieser Tippfehler ist schon in der ersten Version dieses Scripts,
    also vor 14 Jahren enthalten. Hatte sogar Aborix diesbezüglich
    mal gefragt ob man das ändern müsste er sagte da spezifiziert nicht nötig.

    Aha, das erstaunt mich, aber danke für die Info. Ich halte es trotzdem für besser, das Semikolon zu ergänzen.

    Eine Frage dazu noch, in unserem Original konnte man auch mit
    Mittelklick auf die Schaltfläche die Stile importieren. Das geht weder
    bei der von mir noch bei Deiner Version. Ließe sich das eventuell
    noch einbauen. Das hatte Aborix seinerzeit auch eingefügt.

    Oh, das muss ich mir ansehen, kann wie immer aber nichts versprechen. Die Vorgängerversion hat diesbezüglich funktioniert.

    Und dann wäre da noch die Zahl 0664.

    Upps, das hattest Du weiter oben schon moniert und ich hab total vergessen, das zu ändern.

    Was ich auch nicht in den Griff bekommen habe, bzw, wo ich nicht weiter weiß, es sollte eigentlich ein neues Menü "CSS"
    in der Menüleiste erzeugt werden. Tut es aber nicht!!

    In der Konfiguration position = 0 zu 1 ändern. Ich hatte das bei mir getestet und da hat es funktioniert.

    So werden die Variablen "Cu" und "Cr" niemals aufgerufen, sind aber definiert.

    Das ist richtig. Man kann sogar die komplette Zeile weglassen, weil Cc, was im Script genutzt wird, standardmäßig von Firefox exportiert wird.

    Na, dann machen wir das doch! (Ich hatte mich schon gewundert, warum das überhaupt drin steht.)

    Und auch mit const XULNS = "http://www.mozilla.org/keymaster/gate…ere.is.only.xul"; komme ich nicht so wirklich zurecht,
    XUL mag eventuell noch gehen, wird aber so nach und nach ersetzt.
    XML User Interface Language – Wikipedia

    Nicht für alls gibt es eine Entsprechung in HTML. Wenn XUL-Elemente erzeugt werden sollen - und das Script erzeugt eindeutig XUL-Elemente, menupopup und menuseparator gibt es in HTML nicht -, muss auch der entsprechende Namespace genutzt werden.

    (etc.) Das Skript ist da nicht einheitlich: An anderer Stelle wird document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul') genutzt. Und in der Vorgängerversion wurde tatsächlich an genau der Stelle, wo jetzt die Konstante eingesetzt wird, document.createXULElement() verwendet. Ich wollte das alles nicht auch noch ändern, aber im Sinne der Einheitlichkeit wäre es vielleicht gar nicht so schlecht.

    Danke auch für die restlichen Anmerkungen, Sören! Ach so:

    Die Rechte sind nach dem Anlegen des Ordners nicht 664, sondern 644. Ob das in der Praxis für diesen konkreten Anwendungsfall überhaupt notwendig ist, die Rechte auf 664 zu setzen, weiß ich nicht. In jedem Fall ist der Aufruf falsch.

    In Windows wird das ja völlig ignoriert, so dass man das überhaupt nicht überprüfen kann, insofern speziell danke für den Test. Ob die Rechteänderung überhaupt notwendig ist, weiß ich natürlich noch weniger.


    habe ich die Zeile 155 entsprechend der letzten Version im Github von Endor angepasst. Damit funktioniert das Laden der Styles mit Mittelklick wieder.

    Oh, das hat sich überschnitten. Danke, sehe ich mir natürlich auch an!

  • Hallo bege
    Vielen Dank nun funktioniert weder alles.
    :thumbup::thumbup:

    Speravir
    Version von Bege funktioniert hier einwandfrei.
    Alles funktioniert wieder wie es soll.
    Sobald du das OK gibst lade ich die dann bei mir hoch.

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • Endor Auch in bege's Skript sind noch einige Bugs enthalten.
    Es mag ja grundsätzlich funktionieren, aber eben halt nur irgendwie und schleppt dennoch die Fehler mit!

    So wie ich Speravir verstanden habe, kümmert er sich nun noch um einige.
    Es wird dann wohl eine neue Version von ihm geben, denke ich.

    Speravir

    In der Konfiguration position = 0 zu 1 ändern. Ich hatte das bei mir getestet und da hat es funktioniert.

    Das hatte ich gar nicht gemeint!
    Sondern =>

    Das wäre das Menü "CSS", bzw. der Menüeintrag, der in der Menüleiste erzeugt werden sollte!
    Wird er aber nicht und ich weiß nicht, was an dem entsprechenden Code, der diesen erzeugen soll,
    kaputt ist, denn offensichtlich wird dieses Menü, bzw. der Eintrag "CSS", gar nicht erzeugt.

    Mit <3lichem Gruß

    Mira