Hallo 2002Andreas ,
ich hatte seinerzeit noch eine andere Version zusammengeschustert, mit einer anderen Abfrage des Status. Finde jetzt den Thread nicht mehr, aber ich denke, es war nachfolgendes Skript:
JavaScript
(function() {
if (!window.gBrowser){
return;
}
CustomizableUI.createWidget({
id: 'addons-update-button-ucjs',
defaultArea: CustomizableUI.AREA_NAVBAR,
label: 'Add-ons Update',
tooltiptext: 'Add-ons aktualisieren',
onCommand: onCommand,
onCreated: function(button) {
button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)';}
});
function onCommand(event) {
let targetUpdateMessage=null;
let categories=null;
event.target.ownerGlobal.openTrustedLinkIn('about:addons', 'tab');
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons')
return;
removeEventListener('pageshow', onPageshow);
categories = document.getElementById('categories');
targetUpdateMessage = document.querySelector('#page-header .main-heading #updates-message');
const configObserver = { attributes: true };
const observerUpdateMessage = new MutationObserver(callback);
observerUpdateMessage.observe(targetUpdateMessage, configObserver);
document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
});
const callback = (mutationList, observer) => {
for (const mutation of mutationList) {
if (mutation.type === 'attributes') {
message = targetUpdateMessage.getAttribute('state');
if( message == "manual-updates-found" ) {
setTimeout(function() {
gBrowser.selectedTab.linkedBrowser.reload();
}, 1000);
categories.querySelector('button[viewid="addons://updates/available"]').click();
return;
}
else if( message == "none-found" )
{
// ..
return;
}
else if( message == "installed" )
{
document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
setTimeout(function() {
categories.querySelector('button[viewid="addons://updates/recent"]').click();
}, 1000);
return;
}
}
}
}
};
})();
Alles anzeigen
Ob es damit wieder funktioniert kann ich nicht sagen, nutze es selbst nicht, aber du könntest es ja mal ausprobieren..
Sehe gerade, dass milupo das Skript eben auch gepostet hat...
Hier ist der Link zum damaligen Thread bzw. zur letzten Version:
Beitrag
RE: Skript für Add-ons Update
[…]
Gerne. Freut mich wenn es bei dir funktioniert.
ich habe noch eine kleine Änderung eingebaut, die nach dem Update (bei automatischem Update) auch wieder die zuletzt upgedateten Addons anzeigt. Das hat nicht immer zuverlässig funktioniert, da hier, wie ich weiter oben beschrieben habe, meiner Meinung nach ein Bug im Firefox vorliegt:
RE: Skript für Add-ons Update Ob es jetzt immer funktionieren wird ....
Hier die neue Version:
(Quelltext, 73 Zeilen)
[…]
Doch, die Überprüfung der Updates…
Gerne. Freut mich wenn es bei dir funktioniert.

ich habe noch eine kleine Änderung eingebaut, die nach dem Update (bei automatischem Update) auch wieder die zuletzt upgedateten Addons anzeigt. Das hat nicht immer zuverlässig funktioniert, da hier, wie ich weiter oben beschrieben habe, meiner Meinung nach ein Bug im Firefox vorliegt:
RE: Skript für Add-ons Update Ob es jetzt immer funktionieren wird ....

Hier die neue Version:
(Quelltext, 73 Zeilen)
[…]
Doch, die Überprüfung der Updates…

BrokenHeart