Ich habe mal spasseshalber in deinem Script von hier noch etwas für den Lesezeichen-Menü Button ausprobiert, das ist der Button den man in die Navbar ziehen kann.
Sehr gut! Funktioniert einwandfrei... ![]()
Gleich mal hier als neue Skript-Version eingebaut: (Dank an @Horstmann )
JavaScript
(function() {
if (!window.gBrowser)
return;
setTimeout(function() {
setFunction();
},50);
function setFunction() {
const css =`
.countClass::after {
content: attr(data-value);
color: red;
}
`;
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');
bmbMenu.addEventListener('popupshowing', onPopupShowing );
bookMenu.addEventListener('popupshowing', onPopupShowing );
persToolBar.addEventListener('popupshowing', 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.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++;
}
}
}
let label = item.childNodes[3]; //label.menu-iconic-text
label.classList.add('countClass');
let strCountOut = " (" + menuCount + "/" + menuitemCount + ")"
label.setAttribute('data-value', strCountOut);
}, 100);
}
}
})();
Alles anzeigen