Und das funktioniert mit dem neuen Skript für mich perfekt
Also, nochmals danke dafür.
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
Nur das es eben mal funktioniert und mal nicht! Wie gesagt, es geht nicht um die Funktion des Skripts, sondern um die normale Firefox Funktionalität. Wenn ich einen gedanklichen Fehler dabei gemacht habe, dann hätte ich schon gerne eine Erklärung für das nachfolgende Verhalten ?!
Hier zwei Videos mit nicht funktionierender Anzeige:
1. Video mit Firefox im Fehlerbehebungsmodus:
Screen202.gif
2. Video mit meinem normalen Profil:
Screen204.gif
Und hier ein Video mit funktionierender Anzeige:
…
Ob es jetzt immer funktionieren wird ....
Hier die neue Version:
(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
Startet der Fox dann neu, und der Update-Button des Scriptes wird bedient, dann wird wieder Plugins geöffnet, was ja so nicht gewünscht ist.
Doch, die Überprüfung der Updates läuft und er zeigt nur die Message-Texte an und wenn er nichts gefunden hat wird auch keine neue Seite geöffnet und nur die Info "Keine Updates gefunden" erscheint oben. Ich halte dieses Verhalten für absolut sinnvoll und außerdem ist es das Standardverhalten.