Ich glaube du hast recht
Morgen kommt ein neuer Thread mit dem nächten Skript, welches nicht mehr funktioniert.
Ruh dich also guuuut aus
Ich glaube du hast recht
Morgen kommt ein neuer Thread mit dem nächten Skript, welches nicht mehr funktioniert.
Ruh dich also guuuut aus
Ruh dich also guuuut aus
🥱...😴
Ach so!
Und verstehe ich diese Aussage richtig, wenn ich sage, es ist zu viel für die Laufzeitumgebung?
ZitatInternalError
Der Typ InternalError wird verwendet, wenn eine Ausnahme in der JavaScript-Laufzeit-Engine auftritt. Das kann auf ein Problem in deinem Code hindeuten, muss es aber nicht.
In den meisten Fällen tritt InternalError nur in zwei Szenarien auf:
- Wenn ein Patch oder ein Update für die JavaScript-Laufzeitumgebung einen Fehler enthält, der Ausnahmen auslöst (dies kommt sehr selten vor)
- Wenn dein Code Elemente enthält, die für die JavaScript-Engine zu groß sind (z. B. zu viele Switch-Cases, zu große Array-Initialisierungen, zu viele Rekursionen)
Der beste Ansatz zur Lösung dieses Fehlers besteht darin, die Ursache anhand der Fehlermeldung zu identifizieren und deine App-Logik nach Möglichkeit umzustrukturieren, um die plötzliche Belastungsspitze der JavaScript-Engine zu beseitigen.
Quelle: https://kinsta.com/de/blog/fehler…/#internalerror
Update.
Wenn ich zweimal hintereinander das Script ausführe, also zweimal den Button betätige,
wird das Script beim zweiten Aufruf richtig ausgeführt!
Hallo zusammen.
Ich kann das: Skript für Add-ons Update hier auch bestätigen.
Vielleicht kann aborix sich das mal anschauen.
Wenn dann kann nur er es wieder richtig zum Laufen bringen.
Mfg.
Endor
Ich habe es mir schon angesehen und habe bis jetzt auch noch keine Lösung.
habe bis jetzt auch noch keine Lösung.
Hallo aborix, vielen Dank für deine Zeit und Mühe
Mach dir bitte keinen Stress, dann bleibt es so wie es ist.
Testet mal bitte. Falls es funktioniert, dauert es zwei Sekunden, bis die Updates angezeigt werden.
(function() {
if (window.__SSi != 'window0')
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) {
let frameScript = function() {
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons')
return;
removeEventListener('pageshow', onPageshow);
content.setTimeout(function() {
document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
content.setTimeout(function() {
let categories = document.getElementById('categories');
let item = categories.querySelector('button[viewid="addons://updates/available"]');
item.click();
categories.addEventListener('mousedown', function onMousedown(event) {
if (event.target != item && event.target.parentNode != item) {
item.hidden = true;
categories.removeEventListener('mousedown', onMousedown);
};
});
}, 1000);
}, 1000);
});
};
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
let window = event.target.ownerGlobal;
window.openTrustedLinkIn('about:addons', 'tab');
window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
};
})();
Alles anzeigen
Testet mal bitte.
Wenn ich die Funktion richtig verstanden habe, funktioniert das Script.
Wieder so eine Zeitschleife.
Leider funktioniert das Script so nicht bei mir.
Habe beide Werte auf 5000 hochgestellt und auch da funktioniert es nicht.
Und auch bei dem neuen Script ist es so, dass beim zweiten Mal ausführen es richtig funktioniert.
Und wenn der Fehler durch
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
und/oder
window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
verursacht wird, müsste man dann nicht da ansetzen?
Leider verstehe ich von JavaScript so gar nichts.
Testet mal bitte
Hallo aborix..
so ganz klappt es doch noch nicht
Mal wird es angezeigt wieder, mal auch nicht.
Mal wird es angezeigt wieder, mal auch nicht.
Ja ist hier auch so.
Ich hatte eine in der Konsequenz ähnliche Lösung wie aborix (Verzögerter Reload des selektierten Tab), aber funktionierte auch nicht zuverlässig. Deswegen hatte ich das Skript ja auch aus meinem Beitrag wieder entfernt:
Edit: Skript wieder gelöscht, funktioniert nur unter bestimmten Bedingungen?!
Nachtrag!
Das Script funktioniert ohne jegliches content.setTimeout(function() {
richtig, wenn man oben z.B. den Reloadbutton tätigt!
Also, wenn die "Seite" ein zweites Mal geladen wird!
Eventuell gibt es ja eine Funktion für Reload?
Wäre dann zwar unelegant, aber Hauptsache es funktioniert und das Ergebnis stimmt.
Das Script funktioniert ohne jegliches content.setTimeout(function() {
richtig, wenn man oben z.B. den Reloadbutton tätigt!
Nein, das tut es so auch nicht verlässlich! Denn genau das war auch der Ansatz, den ich für meinen erfolglosen Fehlerbehebungsversuch in Beitrag #14 verwendet habe.
Ich habe die alte Version über die entsprechende Forenfunktion mal wieder hergestellt:
Ich nutzte für die Versuche:
(function() {
if (window.__SSi != 'window0') 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) {
let frameScript = function() {
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons')
return;
removeEventListener('pageshow', onPageshow);
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();
categories.addEventListener('mousedown', function onMousedown(event) {
if (event.target != item && event.target.parentNode != item) {
item.hidden = true;
categories.removeEventListener('mousedown', onMousedown);
};
});
;
});
};
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
let window = event.target.ownerGlobal;
window.openTrustedLinkIn('about:addons', 'tab');
window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
};
})();
Alles anzeigen
Drücke den "Button", und die Seite "about:addons" wird geladen,
nach einem kurzen Augenblick erscheint dann die Schaltfläche Verfügbare Updates anzeigen
und auch Rechts die Schaltfläche Verfügbare Updates.
Beide Schaltflächen scheinen ohne Funktion
Drücke ich jetzt in der "Navbar" den Reloadbutton, wird nach der Funktion nun
unter Verfügbare Updates auch das Add-on gezeigt für welches ein Update vorhanden ist.
Ganz ohne Script funktionieren beide Schaltflächen.
So, ...
(function() {
if (window.__SSi != 'window0') 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) {
let frameScript = function() {
addEventListener('pageshow', function onPageshow(event) {
let document = event.target;
if (document.URL != 'about:addons') return;
removeEventListener('pageshow', onPageshow);
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();
content.setTimeout(function() {
content.location.reload();
categories.addEventListener('mousedown', function onMousedown(event) {
if (event.target != item && event.target.parentNode != item) {
item.hidden = true;
categories.removeEventListener('mousedown', onMousedown);
};
});
}, 1000);
});
};
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
let window = event.target.ownerGlobal;
window.openTrustedLinkIn('about:addons', 'tab');
window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
};
})();
Alles anzeigen
... funktioniert das Script bei mir.
Bitte um feedback.
Nachtrag
Habe ca. 15 bis 20 Mal den Fuchs neu gestartet und das Script (den Button) ausprobiert.
Leider funktionierte es einmal nicht.
Eventuell doch noch der Wurm drinn.
2. Nachtrag!
Leider funktioniert das Script nicht zuverlässig.
Eben getestet und von zwei Updates wurde nur eins angezeigt.
Test wiederholt, wieder nur ein Update angezeigt.
Erst beim 3. Test funktionierte es wie gewünscht.