OK, dann bin ich erst einmal ein bisschen beruhigt, denn ich habe mir nicht meine Nightly zerschossen.
War nämlich zur gleichen Zeit am Basteln!!
Hoffe aber, dass ein findiger Scriptprofi eine Lösung finden wird.
Meine Hoffnung Merci chao , denn sein Multi Tab Rows (MultiTabRows@Merci.chao.uc.js) | Mehrzeilige Tableiste
wäre ja dann für die Katz![]()
Aber schauen wir mal, gibt da ja noch mehr Profis, die eigene Skripte haben.
Beiträge von Mira_Belle
-
-
Kann es sein, dass ab dieser Version JavaScript abgeschaltet wurde?
Bzw. dass es eine andere Methode bedarf per JacaScript Modifikationen vornehmen zu können?
Bei mir funktioniert nicht ein Skript mehr nach dem Update heute Morgen
-
-
-
-
Dharkness Oh Gott, Du hast aber Ideen.
Ich denke schon, dass das geht. Nur gebe mir etwas Zeit. -
Dharkness
Ich habe nun ein neues Profil in der Nightly angelegt!
Kein CSS nur das eine Skript!Es funktioniert genau so, wie es funktionieren soll!
Jetzt weiß ich aber auch nicht weiter!
Wenn es bei Dir, warum auch immer, einfach nicht so will, wie es eigentlich sollte,
aber ein anderes Skript wie von Dir gewünscht es tut, dann nutze lieber das andere.
Sorry, ich würde Dir ja gerne helfen, aber hier weiß ich einfach nicht weiter. -
-
-
Dharkness Lade Dir bitte das Skript noch einmal runter.
Jetzt sollte es funktionieren! -
Einfach oben in der UserConfiguration
let useStyle = 0; // <- HIER Weiche setzen: 0 = Symbole hinter den Zählern, 1 = Symbole vor den Zählern
Werde ich noch nachtragen!
Symbole.zipbei let useStyle = 1; // <- HIER Weiche setzen: 0 = Symbole hinter den Zählern, 1 = Symbole vor den Zählern
so.
-
Boersenfeger Schau Dir doch mal das korrigierte Skript an.
-
Spiel mal mit dem 1. Wert in Zeile 47...

Das ist jetzt aber an Boersenfeger gerichtet, richtig?
-
-
Da das JavaScript BookmarkCount.uc.js in der aktuellen Nightly scheinbar nicht mehr so funktioniert, wie es eigentlich sollte
hier eine gefixte Version!JavaScript
Alles anzeigen// BookmarkCount.uc.js /* ******************************************************************************************************************* */ /* Author BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536 **** */ /* Correction from BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229696#post1229696 **** */ /* Extension from Sören Henschel => https://www.camp-firefox.de/forum/thema/136572/?postID=1229555#post1229555 **** */ /* Customized by Mira inspired by grisu2099 ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229875#post1229883 **** */ /* Customized by Mira inspired by Horstmann ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229993#post1229993 **** */ /* Adjustments for 139 and customized by Mira inspired by Horstmann ********************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1270254#post1270254 **** */ /* Bugfixes for 'popupshowing' to 'popupshown'inspired by BrokenHeart & Horstmann ************************************ */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1274881#post1274881 **** * /* ******************************************************************************************************************* */ /* Version 1.04a => https://www.camp-firefox.de/forum/thema/136572/?postID=1274881#post1274881 **** */ /* Version 1.05 => https://www.camp-firefox.de/forum/thema/136572/?postID=1291576#post1291576 **** */ /* ******************************************************************************************************************* */ /* Custom Counter in the Bookmarks for folders and links ************************************************************* */ /* ******************************************************************************************************************* */ (function() { if (!window.gBrowser) return; setTimeout(function() { setFunction(); }, 10); let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ //Custom icons in profile/chrome/icons folder let icon1 = "folder-fat.svg"; // Custom Folder Icon let icon2 = "bookmark-hollow.svg"; // Custom Link Icon let icon3 = "arrow-right.svg"; // Custom Arrow Icon // Custom settings let bm_font_size = 12; let cs_font_weight = 700; let bm_icon_size = 16; // NEU: Schriftfarben getrennt definieren //let cs_font_color_1 = "#FFA500"; // Farbe für Folder-Zähler (links) //let cs_font_color_2 = "#00FFFF"; // Farbe für Link-Zähler (rechts) let cs_font_color_1 = "#FFD700"; // Farbe für Folder-Zähler (links) let cs_font_color_2 = "#FFD700"; // Farbe für Link-Zähler (rechts) // NEU: Symbolfarben getrennt definieren //let cs_icon_color_1 = "#5fe575"; // Farbe für "Ordner", 1.Symbol //let cs_icon_color_2 = "#fbf328"; // Farbe für "Link", 2.Symbol //let cs_icon_color_3 = "#bbf700"; // Farbe für den Pfeil let cs_icon_color_1 = "#C0C0C0"; // Farbe für "Ordner", 1.Symbol let cs_icon_color_2 = "#C0C0C0"; // Farbe für "Link", 2.Symbol let cs_icon_color_3 = "#C0C0C0"; // Farbe für den Pfeil // Calculated settings let cs_font_size = `${bm_font_size}px`; let cs_icon_size = `${bm_icon_size}px`; let cs_width_one = `calc(${bm_icon_size}px + 1.4em)`; let cs_width_uno = `calc(${bm_icon_size}px)`; let cs_width_two = `calc(${bm_icon_size}px + 1.4em)`; let cs_width_due = `calc(${bm_icon_size}px)`; //let useStyle1 = true; // <- HIER Weiche setzen: true = Variante 1, false = Variante 2 let useStyle = 0; // <- HIER Weiche setzen: 0 = Symbole hinter den Zählern, 1 = Symbole vor den Zählern // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ // Symbole vor den Zählern let css_one = ` #bmContent::before { content: attr(data-value1) !important; width: ${cs_width_one} !important; align-items: center !important; display: flex !important; justify-content: end !important; margin-left: 16px !important; margin-right: -1px !important; background-image: url("${ProfilePath}/${icon1}")!important; background-position: center right calc(${cs_width_one} - ${cs_icon_size}) !important; background-repeat: no-repeat !important; background-size: ${cs_icon_size} ${cs_icon_size} !important; color: ${cs_font_color_1} !important; fill: ${cs_icon_color_1} !important; } #bmContent::after { content: attr(data-value2) !important; width: ${cs_width_two} !important; align-items: center !important; display: flex !important; justify-content: end !important; margin-left: 4px !important; margin-right: -1px !important; background-image: url("${ProfilePath}/${icon2}") !important; background-position: center right calc(${cs_width_two} - ${cs_icon_size}) !important; background-repeat: no-repeat !important; background-size: ${cs_icon_size} ${cs_icon_size} !important; color: ${cs_font_color_2} !important; fill: ${cs_icon_color_2} !important; } `; // Symbole hinter den Zählern let css_two = ` #bmContent::before { content: attr(data-value1) !important; width: ${cs_width_one} !important; align-items: center !important; display: flex !important; justify-content: end !important; background-image: url("${ProfilePath}/${icon1}")!important; background-position: center right calc(${cs_width_uno} - ${cs_icon_size}) !important; background-repeat: no-repeat !important; background-size: ${cs_icon_size} ${cs_icon_size} !important; color: ${cs_font_color_1} !important; fill: ${cs_icon_color_1} !important; padding: 2px 20px 0px 10px !important; margin-left: 16px !important; margin-right: 12px !important; } #bmContent::after { content: attr(data-value2) !important; width: ${cs_width_two} !important; align-items: center !important; display: flex !important; justify-content: end !important; background-image: url("${ProfilePath}/${icon2}")!important; background-position: center right calc(${cs_width_due} - ${cs_icon_size}) !important; background-repeat: no-repeat !important; background-size: ${cs_icon_size} ${cs_icon_size} !important; color: ${cs_font_color_2} !important; fill: ${cs_icon_color_2} !important; padding: 2px 22px 0 0 !important; margin-left: -14px !important; margin-right: -1px !important; } `; function setFunction() { const css =` /* Fix für Firefox Nightly - Label als Flex-Container */ #bookmarksMenuPopup > menu > label, #bookmarksMenuPopup > menu > menupopup > menu > label, #bookmarksMenuPopup > menu > menupopup > menu > menupopup > menu > label, #PlacesToolbarItems > .bookmark-item > menupopup > menu > label { display: flex !important; justify-content: space-between !important; } /* Counter Container */ #bmContent { display: flex !important; margin-inline: auto 0 !important; font-family: Consolas, "Lucida Console", "Courier New", monospace !important; font-size: ${cs_font_size} !important; font-weight: ${cs_font_weight} !important; height: ${cs_icon_size} !important; } /* Dynamisch gewählter Counter-Stil */ ${useStyle ? css_one : css_two} /* Pfeil */ menupopup > menu::after { content: "" !important; background-image: url("${ProfilePath}/${icon3}")!important; height: ${cs_icon_size} !important; fill: ${cs_icon_color_3} !important; margin-inline: 0 !important; } `; const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); let bmbMenu = document.getElementById('bookmarks-menu-button'); let bookMenu = document.getElementById('bookmarksMenu'); let persToolBar = document.getElementById('PersonalToolbar'); if(bmbMenu) { let bmbMenuPopup = document.getElementById('BMB_bookmarksPopup'); if(bmbMenuPopup) { bmbMenuPopup.openPopup(); bmbMenuPopup.hidePopup(); bmbMenuPopup.setAttribute("hasbeenopened","true"); } bmbMenu.addEventListener('popupshowing', onPopupShowing); } if(bookMenu) { let bookMenuPopup = document.getElementById('bookmarksMenuPopup'); if(bookMenuPopup) { bookMenuPopup.openPopup(); bookMenuPopup.hidePopup(); bookMenuPopup.setAttribute("hasbeenopened","true"); } bookMenu.addEventListener('popupshowing', onPopupShowing); } if(persToolBar) { persToolBar.addEventListener('popupshown', onPopupShowing); } } function onPopupShowing(aEvent) { let popup = aEvent.originalTarget; for (let item of popup.children) { if (item.localName != 'menu' || item.id?.startsWith('history')) continue; setTimeout(() => { let itemPopup = item.menupopup; itemPopup.hidden = true; itemPopup.collapsed = true; itemPopup.openPopup(); itemPopup.hidePopup(); let menuitemCount = 0; let menuCount = 0; for (let subitem of itemPopup.children) { if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) { if (subitem.localName == 'menuitem') menuitemCount++; else if (subitem.localName == 'menu') menuCount++; } } itemPopup.hidden = false; itemPopup.collapsed = false; // Neues Element für Zaehler let bmCounta = item.childNodes[1]; if (!bmCounta) return; // Falls undefiniert bmCounta.innerHTML = ""; let bmContent = document.createElement("bmContent"); bmContent.id = "bmContent"; bmCounta.appendChild(bmContent); //let strCountOut1 = " " + menuCount + " "; // Has no brackets //let strCountOut1 = "(" + menuCount + ")"; // Has round brackets //let strCountOut1 = "[" + menuCount + "]"; // Has square brackets let strCountOut1 = String(menuCount).padEnd(2, " "); bmContent.setAttribute('data-value1', strCountOut1); //let strCountOut2 = " " + menuitemCount + " "; // Has no brackets //let strCountOut2 = "(" + menuitemCount + ")"; // Has round brackets //let strCountOut2 = "[" + menuitemCount + "]"; // Has square brackets // let strCountOut2 = String(menuitemCount).padEnd(2, " "); // bmContent.setAttribute('data-value2', strCountOut2); let strCountOut2 = (useStyle === 0) ? String(menuitemCount).padStart(4, "/ ") // (5, " | ") : String(menuitemCount).padEnd(2, " "); bmContent.setAttribute('data-value2', strCountOut2); }, 100); } } })(); -
-
FuchsFan Ich finde Deine Bemühungen um ein Skript zum Sichern des Profils ja echt klasse,
aber es gibt schon ein Skript welches so gar im laufenden Betrieb das Profil sichert.Und für ein Backup "aller" Profile inkl. Installationsordner, gibt es sogar ein PowerShell Script.
Da ich selber mit PowerShell nicht so per Du bin, habe ich es bisher noch nicht geschafft,
ein "gutes" Restore-Skript zu zaubern.
Daher mache ich so etwas von Hand.
Verschiedene Links:BeitragRE: BackupProfile.uc.js - div. Fragen dazu
Versuch mal diese Version:
(Quelltext, 125 Zeilen)
Speicherpfad, Archivname und das Icon mußt du dir natürlich anpassen...
grisu20998. Juli 2023 um 14:57 Das PowerShell-Script funktioniert bei mir bestens!
Mira_Belle3. Juli 2024 um 22:08
Und dann gäbe es da ja auch noch MozBackup,
aber da weiß ich nicht so genau, ob es da noch weiter geht.
Letzte Version noch Beta und vom 27. Januar 2026!
MozBackup - Backup tool for Firefox and Thunderbird -
Er muss liefern, ....
Seh' ich auch so.
Denn nur das CSS kann nicht die Ursache für das Desaster sein. -
Gibt eine ganz einfache Lösung:
\chrome\ Ordner packen/zippen, und hier einfügen. ALLES !!!
... wäre dann der zweite Schritt gewesen.
Oder so, denn ich finde es merkwürdig, dass zwar alles gleich geblieben sein soll,
aber nur das BS wohl neu aufgesetzt wurde.
Und auch der Fehlerbehebungsmodus wurde bisher wohl noch nicht in Betracht gezogen.
Ob irgendein JS da noch dazwischenhaut? -