Zitat von gokupkNicht ganz verstanden habe ich wofür der User Script Loader gut ist, damit man Greasemonkey Skripte mittels userChromeJS ohne installierten Greasemonkey nutzen kann (für diejenigen die alles mit userChromeJS machen wollen) oder habe ich das falsch verstanden?
Nein, das hast du richtig verstanden. Der User Script Loader kann Greasemonkey vollständig ersetzen. Es gibt auch noch den User CSS Loader, mit dem man Stylish ersetzen kann. Allerdings gab es mit mind. einem von beiden neulich mal Probleme (hat nicht mehr richtig funktioniert), die aber durch ein Update meine ich wieder behoben wurden. Ich nutze diese Skripte nicht, kann es daher auch nicht genau sagen, aber im userChrome-Thread wurde darüber diskutiert.
Zitat von gokupkAber ich dachte man müsse dort jeweils eine extra Weiterleitung für alle installierten Scripts einfügen und deshalb, dachte ich man müsse die Zeile noch wie folgt oder ähnlich bearbeiten:
userChrome.import("*", "WordHighlightToolbar.uc.js");
Fügst du diesen Inhalt in die userChrome.js ein, werden alle Skripte, die im chrome-Ordner liegen, importiert:
Du kannst es auch so ähnlich machen, wie du es dir gedacht hast und die einzulesenden Skripte selektiv bestimmten. So hast du einerseits Kontrolle darüber, auf welche Skripte im chrome-Ordner zugegriffen wird und außerdem über die Reihenfolge, in der sie eingelesen werden. Zudem kannst du über einen Zeitwert die Verzögerung/Pause zwischen dem Einlesen der einzelnen Skripte bestimmen (im Beispiel 3000ms = 3sek):
userChrome.loadOverlayDelayIncr = 3000;
userChrome.import("Wetterfuchsbutton.uc.js", "UChrm");
userChrome.import("extras_config_menu.uc.js", "UChrm");
userChrome.import("SimpleSessionManager.uc.js", "UChrm");
userChrome.import("URLTabTooltip.uc.xul", "UChrm");
userChrome.import("popupInspect.uc.js", "UChrm");
userChrome.import("addRestartButton.uc.js", "UChrm");
Kontrolle über Reihenfolge und Verzögerung zu haben kann von Vorteil sein, wenn es Probleme mit der korrekten Initialisierung von .uc.xul-Skripten gibt. Dieses Problem ist für .uc.xul-Skripte auch entwicklerseitig bekannt (es kann vorkommen, dass sie nach Browserstart nicht geladen werden; siehe hier unter Known Issues, sowie FAQ), betrifft aber nicht die .uc.js-Skripte.
Außerdem noch eine kleine Anmerkung am Rande: userChromeJS nutzt einen besonderen Cache, der im Ordner startupCache liegt (unter XP C:\Dokumente und Einstellungen\User\Lokale Einstellungen\Anwendungsdaten\Mozilla\Firefox\Profiles\Profilname.default\startupCache). Macht man eine Änderung an einem Skript, das bereits benutzt wird, ist es meist notwendig, diesen Cache zu löschen, damit die Änderung beim nächsten Browserstart übernommen werden. Das kann man machen, indem man den startupCache manuell löscht oder es gibt auch mehrere Neustartskripte, die das automatisch für einen erledigen, z.B. das in meinem Beispiel genannte addRestartButton.uc.js (siehe dazu auch den Hinweis auf der Githubseite ganz unten unter Hinweise > Scriptcache; ein klassisches Löschen des Cache durch Firefox löscht nicht den startupCache).
Viele Grüße