Morgen,
wir haben einen Aspekt bisher außen vor gelassen und zwar, dass der Fehler gar nicht durch das Skript verursacht wird, sondern Firefox an dieser Stelle einen Bug hat.
Folgendes konnte ich bei mir mehrfach reproduzieren (auch im Fehlerbehandlungsmodus!):
Wenn man sich eine ältere Datei-Version eines Addons installiert und dann manuell auf 'Auf Updates überprüfen' geht, dann zeigt sich genau das gleiche Verhalten wie beim Skript, welches in #1 von 2002Andreas beschrieben wurde:
Die Updates werden nicht sofort angezeigt und man muss erst auf 'kürzlich durchgeführte Updates anzeigen' klicken.
Das Skript ist eigentlich sehr simpel, da es ja nur Mouseclicks auf die einzelnen Menüpunkte bzw. Kategorien generiert. Ich vermute wirklich, dass es mehr oder weniger unschuldig ist.
Ich habe noch etwas rumexperimentiert und noch eine Version (ohne Framescript-Gedöns) zusammengebastelt. Ob die immer fehlerfrei arbeitet, kann ich genauso wenig voraussagen, wie bei den bisherigen "Lösungen" ( aborix, Mira_Belle ). Aber hier tut es das noch ganz anständig, bis auf die Kleinigkeit, dass der Text 'Keine Updates gefunden' nicht mehr angezeigt wird...
(function() {
if (!window.gBrowser){
return;
}
CustomizableUI.createWidget({
id: 'addons-update-button',
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) {
window.openTrustedLinkIn('about:addons', 'tab');
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons')
return;
removeEventListener('pageshow', onPageshow);
setTimeout(function() {
gBrowser.selectedTab.linkedBrowser.reload();
}, 1000);
document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
let categories = document.getElementById('categories');
let item = categories.querySelector('button[viewid="addons://updates/available"]');
item.click();
});
};
})();
Alles anzeigen