Ich musste den Ursprung von hier wieder herstellen, denn mit der Änderung von mir funktioniert das Script nicht mehr.
Ja, weil du eine Funktion OnClick() definiert hast, die aber nie aufgerufen wird, weil du den 'EventListener' für den Button "wegoptimiert" hast. ![]()
Außerdem ist der Aufruf SidebarController.toggle('viewBookmarksSidebar').click(); falsch:
.click() gehört da nicht hin, da schon die Funktion toggle() das Umschalten ausführt.
Hier das funktionierende Skript ohne Fehler in der Konsole:
Edit: Skript wieder angepasst, damit es auch in einem weiteren Fenster funktioniert.
JavaScript
// Button_ClearCache.uc.js
// Linksklick löscht den Cache
// Mittelklick öffnet die Bookmarks-Sidebar
// Rechtsklick öffnet den Chronik-Dialog
(function() {
if (!window.gBrowser)
return;
try {
CustomizableUI.createWidget({
id: 'buttonClearCache',
type: 'custom',
defaultArea: CustomizableUI.AREAS,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'buttonClearCache',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
// Name im AnpassungFenster
label: 'Cache löschen',
// Name bei MausHover wenn in Symbolleiste
tooltiptext: 'Links Cache löschen / Mittelklick öffnet die Bookmarks-Sidebar / Rechts Chronik-Dialog öffnen',
style: 'list-style-image: url("file:///C:/FoxIcons2/Bild43.png")',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
setTimeout(function() {
document.getElementById('buttonClearCache').addEventListener('click', event => {
if (event.button == 0) {
Services.cache2.clear();
}
if (event.button == 1) {
SidebarController.toggle('viewBookmarksSidebar');
}
if (event.button == 2) {
event.target.ownerDocument.getElementById('sanitizeItem').click();
}
});
},250);
})();
Alles anzeigen
