daß die Scripte "in der richtigen Reihenfolge"
Nur weil die Skripte in einem anderen Ordner dann sind, ändert sich doch nichts an der Reihenfolge
daß die Scripte "in der richtigen Reihenfolge"
Nur weil die Skripte in einem anderen Ordner dann sind, ändert sich doch nichts an der Reihenfolge
gehen tut das auch.
Man kann so eine Liste machen wie ich hier mal hatte:
userChrome.import("UserCSSLoader.uc.js", "UChrm");
userChrome.import("open-profile-folderbutton.uc.js", "UChrm");
userChrome.import("open-chrome-folderbutton.uc.js", "UChrm");
userChrome.import("LoadingBar.uc.js", "UChrm");
userChrome.import("expandsidebar.uc.js", "UChrm");
Die Scripte werden dann so wie in der Tabelle der Reihe nach geladen.
Vielleicht hilft Dir das ja schon weiter.
Mfg.
Endor
Huch....
So einfach?
Danke, Endor
Dann wüßte ich ja, wo ich demnext mal dran rumbastel.
Wäre das dann richtig/möglich?
// userChrome.js
userChrome.ignoreCache = true;
userChrome.import("my_js/01_statusbar2.uc.js", "UChrm");
userChrome.import("my_js/02_Autopopup_bookmarks.uc.js", "UChrm");
usw....
Ich hoffe es. Da Du ja einen Unterordner definierst
müsste man das erst mal ausprobieren.
Mfg.
Endor
Alles klar, hab ich am Wochenende (wenn ich mehr Ruhe hab) was zu tun...
hab ich am Wochenende
Teste es aber erstmal nur mit einem Skript, evtl. funktioniert es ja nicht, dann war deine Mühe umsonst.
Hallo Mira_Belle
Erstmal toller Avatar, klasse Bild!!!!
Danke.
userChrome.import("*", "UChrm");
Meine userChrome.us.js schaut jetzt so aus:
// userChrome.js
userChrome.ignoreCache = true;
userChrome.import("*", "UChrm");
userChrome.import("/js/*", "UChrm")
Alle UserScripte liegen jetzt in dem Unterordner js
Funktioniert prima
Vielen lieben Dank.
Alles klar, hab ich am Wochenende (wenn ich mehr Ruhe hab) was zu tun...
Kannst Du getrost zwischendurch, wenn Du 5 Minuten Zeit hast machen!
Habe bei mir auch erst mit
// userChrome.js
userChrome.ignoreCache = true;
userChrome.import("*", "UChrm");
userChrome.import("/js/Addons-UpDate-Check.uc.js", "UChrm");
userChrome.import("/js/Button-PersonalToolbar.uc.js", "UChrm");
userChrome.import("/js/Browser-Werkzeuge.us.js", "UChrm");
userChrome.import("/js/Clock.us.js", "UChrm");
userChrome.import("/js/Downloadbutton.uc.js", "UChrm");
userChrome.import("/js/FavIconInUrlBar.uc.js", "UChrm");
userChrome.import("/js/Fenster_schließen.us.js", "UChrm");
userChrome.import("/js/Hamburger-Menu.uc.js", "UChrm");
userChrome.import("/js/QuickLinkButton.uc.js", "UChrm");
userChrome.import("/js/QuickLinkButton-about.uc.js", "UChrm");
userChrome.import("/js/QuickLinkButton-cf.uc.js", "UChrm");
userChrome.import("/js/Restart_Firefox.uc.js", "UChrm");
userChrome.import("/js/Scrollbar.uc.js", "UChrm");
userChrome.import("/js/Symbole.us.js", "UChrm");
userChrome.import("/js/Translate_DeepL.uc.js", "UChrm");
userChrome.import("/js/Werkzeuge-fuer-Webentwickler.us.js", "UChrm");
Alles anzeigen
experimentiert, bevor ich auf
// userChrome.js
userChrome.ignoreCache = true;
userChrome.import("*", "UChrm");
userChrome.import("/js/*", "UChrm")
umgestellt habe.
Kannst Du getrost zwischendurch, wenn Du % Minuten Zeit hast machen!
Danke für die "Vorarbeit".
Ich hab für diverse Zwecke ein kleines Batchfile:
das ich aus einem DirUtil(UnrealCommander) aufrufe und mit dem Resultat und dem Makro-Möglichkeiten vom NPP hats wirklich nur 10 Minuten für 45 Scripte gedauert.
Mussich mir fürs Wochenende was anderes ausdenken - irgendwas mit meinen E-Dampfen
Halt, STOP, alles zurück!
Das funktioniert so nicht wirklich!
Habe mir mit einem "kaputten" Script den "Speicher" zerschossen,
und kein Script wurde eingelesen, geschweige denn ausgeführt.
Habe das "kaputte" Script gelöscht, den Firefox neu gestartet und ...
Nix ging.
Erst als ich alle Scripts wieder ins Chromeverzeichnis kopiert hatte,
wurden sie wieder gelesen und ausgeführt.
Ich weiß noch nicht, ob es nicht eine andere Methode gibt,
oder was genau da bei mir schiefgelaufen ist!
Bitte mal um eine Gegenprobe.
Ein funktionierendes Script mit userChrome.import("unterordner/test.us.js", "UChrm") aufrufen.
Wenn es wirklich funktioniert, dann dieses Script
zum Testen direkt im Chromeverzeichnis speichern und Firefox neu starten.
(function() {
if (location.href !== AppConstants.BROWSER_CHROME_URL) return;
try {
CustomizableUI.createWidget({
id: 'bookmark-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'bookmark-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Bookmarks',
accesskey: '',
tooltiptext: 'Bookmarks',
style: 'list-style-image: url("chrome://global/skin/icons/folder.svg");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
setTimeout(function() {
document.getElementById('ucjs_PanelUI-button').appendChild(menuButton);
menuButton.setAttribute('consumeanchor', 'ucjs_PanelUI-button');
}, 0);
}) ();
Alles anzeigen
Das Script funktioniert nicht, aber es bringt die Engine zum Absturz.
Danach das Script einfach löschen, Firefox neu starten und schauen,
ob das funktionierende Script im Unterordner wieder funktioniert,
oder ob es erst in den Chromeordner verschoben werden muss.
Halt, STOP, alles zurück!
Das funktioniert so nicht wirklich!
Hier schon
Meine userChrome.js sieht so aus:
// userChrome.js
userChrome.ignoreCache = true;
userChrome.import("my_js/01_statusbar2.uc.js", "UChrm");
userChrome.import("my_js/02_Autopopup_bookmarks.uc.js", "UChrm");
userChrome.import("my_js/03_vape-menu.uc.js", "UChrm");
userChrome.import("my_js/04_FavIconInUrlBar.uc.js", "UChrm");
userChrome.import("my_js/05_menu-uhr.uc.js", "UChrm");
userChrome.import("my_js/06_All_In_New_Window_89.uc.js", "UChrm");
userChrome.import("my_js/07_shutdown_90.uc.js", "UChrm");
userChrome.import("my_js/08_Scroller_106mira.uc.js", "UChrm");
userChrome.import("my_js/09_Suchbar_leeren.uc.js", "UChrm");
userChrome.import("my_js/10_Tooltip_with_URL.uc.js", "UChrm");
userChrome.import("my_js/11_FF-Werkzeugbutton.uc.js", "UChrm");
userChrome.import("my_js/12_anpassen-button.uc.js", "UChrm");
userChrome.import("my_js/13_RestartFirefoxButtonM.uc.js", "UChrm");
userChrome.import("my_js/14_use_first_tab_in_Win.uc.js", "UChrm");
userChrome.import("my_js/15_mehr_in_Chronik.uc.js", "UChrm");
userChrome.import("my_js/16_js-menu.uc.js", "UChrm");
userChrome.import("my_js/17_ffcss-menu.uc.js", "UChrm");
userChrome.import("my_js/18_webcss-menu.uc.js", "UChrm");
userChrome.import("my_js/19_FF-Infos.uc.js", "UChrm");
userChrome.import("my_js/20_extras_config_menu.uc.js", "UChrm");
userChrome.import("my_js/21_vertikalbar.uc.js", "UChrm");
userChrome.import("my_js/22_userChromeShadow.uc.js", "UChrm");
userChrome.import("my_js/23_ToggleFindbar.uc.js", "UChrm");
userChrome.import("my_js/24_tab_hover_load.uc.js", "UChrm");
userChrome.import("my_js/25_BackupProfile.uc.js", "UChrm");
userChrome.import("my_js/26_extra_back-for-buttons.uc.js", "UChrm");
userChrome.import("my_js/27_WebDeveloper-Menu.uc.js", "UChrm");
userChrome.import("my_js/28_AnimationToggleButton.uc.js", "UChrm");
userChrome.import("my_js/29_FolderContentCounter.uc.js", "UChrm");
userChrome.import("my_js/30_BookmarkDialogsMoveable.uc.js", "UChrm");
userChrome.import("my_js/31_Externals-button-bar.uc.js", "UChrm");
userChrome.import("my_js/33_UpdateBookmark2.uc.js", "UChrm");
userChrome.import("my_js/34_abouthome-button.uc.js", "UChrm");
userChrome.import("my_js/36_Downloadbutton.uc.js", "UChrm");
userChrome.import("my_js/37_tab_2fenster.uc.js", "UChrm");
userChrome.import("my_js/80_Autopopup_Menus.uc.js", "UChrm");
userChrome.import("my_js/82_bookmarkbuttonAEW.uc.js", "UChrm");
userChrome.import("my_js/83_bookmarkbuttonF95.uc.js", "UChrm");
userChrome.import("my_js/84_bookmarkbuttonVoda.uc.js", "UChrm");
userChrome.import("my_js/85_bookmarkbuttonLate.uc.js", "UChrm");
userChrome.import("my_js/86_bookmarkbuttonFirst.uc.js", "UChrm");
userChrome.import("my_js/87_bookmarkbuttonShops.uc.js", "UChrm");
userChrome.import("my_js/99_FF_test.uc.js", "UChrm");
Alles anzeigen
Alles scheint problemlos zu funktionieren, keine Abstürze, kein Fehlverhalten.
Vielleicht liegt Dein Problem an:
Bitte mal um eine Gegenprobe.
Keinerlei Probleme hier.
Im neuen Ordner Skripte eine .uc.js Datei eingefügt.
Obiges Skript in den Ordner chrome.
Neustart.
Skript funktioniert.
Dein Skript nicht, aber es passiert auch sonst nichts.
So sieht der hier aus:
Überlebt das ganze auch einen Systemneustart?
Ich habe "alles" nur erdenkliche nun ausprobiert,
die Scripts, bzw. deren Funktion, überleben nur bis zum nächsten Neustart.
D.H. so erkläre ich es mir, der Code der Scripts liegt im Arbeitsspeicher,
beim Reboot wird dieser ja gelöscht und ....
Habe jetzt echt keine Idee mehr, bleiben die Scripte halt direkt im Chrome-Ordner.
Überlebt das ganze auch einen Systemneustart?
Auch dann keinerlei Probleme.
Das Skript im Ordner Skripte funktioniert weiterhin einwandfrei.
Ich habe mir mein Profil komplett zerschossen!
Warum auch immer funktioniert fast gar nichts mehr!
JavaScript wird gar nicht geladen, CSS funktionieren nur teilweise.
Ich habe mir mein Profil komplett zerschossen!
So wie ich dich kenne, hast du sicherlich ein Backup davon.
Ich habe allein für mein Hauptprofil 4 Stück
So wie ich dich kenne, hast du sicherlich ein Backup davon.
Ich habe allein für mein Hauptprofil 4 Stück
Leider nicht so wirklich!
Habe ein Vollbackup und dann noch verstreut Sicherungen der einzelnen Dateien unter chrome gehabt.
Mir sind jetzt also nur ein, zwei Lesezeichen flöten gegangen, glaube ich.
Wenn es so ist, auch nicht soo schlimm.
Was mich jedoch wundert, das mit den JavaScripts in einem Unterordner und diese dann per "import"
in der userChrome.js einzubinden klappt bei mir einfach nicht
Was soll's, dann bleiben sie halt in chrome.
Schade, es wäre halt viel aufgeräumter gewesen.
Hinterher ist man immer schlauer!
Habe mir mit einem kleinen Tool sowohl das Programmverzeichnis als auch das Profilverzeichnis gesichert.
(Ist schon etwas älter, wenn jemand AutoIt kennt und auch weiß wie das funktioniert,
könnte er/sie es ja mal aktualisieren.)
Es gibt da jemanden, der sucht noch ein 'Projekt für's Wochenende.
(Ist schon etwas älter, wenn jemand AutoIt kennt und auch weiß wie das funktioniert,
könnte er/sie es ja mal aktualisieren.)
Es gibt da jemanden, der sucht noch ein 'Projekt für's Wochenende.
Sorry, Isch kann keine AutoIt
Es hat nun endlich geklappt!
Punkt 1
Habe nun eine neue userChromeJS
/*
* userChromeJS
*
* The file userChrome.js can be used to customize the functioning of Mozilla's
* user interface. Usage and syntax follow below; for useful code snippets see
* http://mozilla.zeniko.ch/userchrome.js.html.
*
* Examples:
* setTimeout(function() { document.title = "A new title for every window" }, 2000);
*
* if (location == "chrome://browser/content/browser.xul") {
* alert("Script loaded in main browser only");
* }
*
* // DOMi window
* if (location == "chrome://inspector/content/inspector.xul") {
* // Move Urlbar box to main toolbar
* var tb = document.getElementById('bxURLBar');
* var el = document.getElementById('mbrInspectorMain');
* if (tb && el) el.appendChild(tb, el.firstChild);
* }
*
* NOTE:
* userChromeJS includes an 'import' function to facilitate file management.
* An absolute path or relative path with Directory name property token can be
* used, as follows:
*
* // Single file (javascript .js or overlay .xul file)
* userChrome.import("Full file path");
* userChrome.import("Relative file path", "Token");
* // All .js and .xul files in a folder will be loaded.
* userChrome.import("Full file folder path");
* userChrome.import("Relative file folder path/name", "Token");
* userChrome.import("*", "Token");
*
* NOTE:
* Absolute windows files and folders must be have backslash escaped:
* "C:\\Program Files\\Mozilla\\scripts\\myscript.js"
*
* Examples:
* // Import script in [ProfileDir]/chrome/scripts/myscript.js
* userChrome.import("scripts/myscript.js", "UChrm");
* // Import script in [Profiles]/scripts/myscript.js (share same script in
* // multiple profiles
* userChrome.import("scripts/myscript.js", "DefProfRt");
* // All .js or .xul in profile chrome directory
* userChrome.import("*", "UChrm");
* // Import overlay
* userChrome.import("C:\\Program Files\\Mozilla\\scripts\\myOverlay.xul");
* // Import everything in Desktop folder /scripts
* userChrome.import("scripts", "Desk");
* // Perhaps the only thing you need in this file..
* if (location == "chrome://browser/content/browser.xul") {
* userChrome.import("scripts", "DefProfRt");
* }
*
* NOTE:
* For a full listing of directory tokens see the two links found here:
* https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Getting_files_in_special_directories
* // What's the path for a token? This will print it in the console.
* userChrome.log(userChrome.getAbsoluteFile("Desk").path, "getAbsoluteFile:'Desk'");
*
* NOTE:
* userChromeJS includes a log function, invoked as follows:
* userChrome.log("string1"[, "string2"])
* Example:
* userChrome.log("hello world!", "myscript.js");
* Results in a console message:
* 2009-05-22 18:07:40 userChromeJS myscript.js: hello world!
*
* NOTE:
* The date format for the userChrome.log console logger may be user defined:
* Example:
* userChrome.dateFormat = "%Y-%m-%d %H:%M:%S";
*
* NOTE:
* The default charSet is "UTF-8"; for code using the 'import' or
* 'importFolder' functions to manage files, the charSet for subscript loader
* may be user defined, prior to calling the import or importFolder functions:
* Example:
* userChrome.charSet = "UTF-8";
*
* NOTE:
* Scripts are stored in a startup cache and loaded from it.
* After a change in userChrome.js you heve to restart Firefox with clearing
* this cache to make sure the changed file is read.
* By default this applies to imported .js files too. You can bypass the cache
* for these scripts with this statement BEFORE any import statement:
* userChrome.ignoreCache = true;
*
*/
userChrome.ignoreCache = true;
userChrome.import("*", "UChrm");
userChrome.import("scripts/Addons-UpDate-Check.uc.js", "UChrm");
userChrome.import("scripts/Browser-Werkzeuge.us.js", "UChrm");
userChrome.import("scripts/Button-PersonalToolbar.uc.js", "UChrm");
userChrome.import("scripts/Clock.us.js", "UChrm");
userChrome.import("scripts/Downloadbutton.uc.js", "UChrm");
userChrome.import("scripts/FavIconInUrlBar.uc.js", "UChrm");
userChrome.import("scripts/Fenster_schließen.us.js", "UChrm");
userChrome.import("scripts/Hamburger-Menu.uc.js", "UChrm");
userChrome.import("scripts/QuickLinkButton.uc.js", "UChrm");
userChrome.import("scripts/QuickLinkButton-about.uc.js", "UChrm");
userChrome.import("scripts/QuickLinkButton-cf.uc.js", "UChrm");
userChrome.import("scripts/Restart_Firefox.uc.js", "UChrm");
userChrome.import("scripts/Scrollbar.uc.js", "UChrm");
userChrome.import("scripts/Symbole.us.js", "UChrm");
userChrome.import("scripts/Translate_DeepL.uc.js", "UChrm");
userChrome.import("scripts/Werkzeuge-fuer-Webentwickler.us.js", "UChrm");
Alles anzeigen
Punkt 2
Meine Restart_Firefox.uc.js war "falsch"
Der Cache wurde nicht geleert.
Punkt 3
Der Fehlerbehebungsmodus ist doch hin und wieder von Nutzen
Punkt 4
Nichts ist so schlecht, dass es nicht für was gut ist
So auch schlaflose Nächte, wo man sich beschäftigen muss.
Habe nun eine neue
So sieht das hier in der Datei aus:
userChrome.ignoreCache = true;
userChrome.import("*", "UChrm");
userChrome.import("Skripte", "UChrm")
Der neue Ordner heißt hier: Skripte
In diesem Ordner sind dann die Skripte enthalten:
Als Test mal 2 Stück:
Und das funktioniert hier ohne Probleme
Jeweils außen das Icon.