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.