Hallo aborix.
Ja hier auch so. Also wurde diese Änderung in Beta 7 übernommen.
Hast Du eine Idee?
Mfg.
Endor
Hallo aborix.
Ja hier auch so. Also wurde diese Änderung in Beta 7 übernommen.
Hast Du eine Idee?
Mfg.
Endor
In Beta 6 funktionierte es noch?
Ja definitiv.
Edit: Eben nochmal getestet im beta 6 funktioniert alles bestens.
erst ab beta 7 nicht mehr.
Mfg.
Endor
Es könnte daran liegen:
https://hg.mozilla.org/releases/mozil…9127c34b72c57d9
Das ist die Zeile für das Laden der Seite ins Panel:
Die von dir früher genannte Zeile muss auch geändert werden, das spielt aber in diesem Zusammenhang keine Rolle.
Ja diese Zeile habe ich mir auch gerade angeschaut.
Hoffe Du findest eine Lösung.
Mfg.
Endor
Hallo aborix
Könnte es damit auch zu tun haben: https://www.fxsitecompat.dev/en-CA/docs/201…een-deprecated/
Mfg.
Endor
Ich weiß nicht, vielleicht hängt folgender Bug mit diesem Problem zusammen:
Fission ist in Firefox 69 standardmäßig nicht aktiviert und das Ticket bezieht sich auf Fission. Damit kann es also nicht zusammenhängen.
aborix hat bereits in Beitrag #24 auf die ursächliche Änderung verlinkt.
Ist denn was zu ändern oder müssen wir uns von dem Script verabschieden?
Vielleicht findet aborix einen Weg. Da das ein Anwendungsfall ist, der grundsätzlich auch als WebExtension umsetzbar ist, ist das nichts, wo ich viel Energie in Recherche stecken werde.
Schaun mer mal, ich fürchte nur, das er die Zeit nicht findet.. es sind ja gerade mehrere Baustellen im Skriptbereich eröffnet..
Folgendes ist das Problem. Zum Testen kann man den Code einfach in die Browserkonsole eingeben, man muss kein Skript daraus machen.
In Fx 68 funktioniert das Laden einer Webseite in ein Panel auf folgende Weise noch:
var panel = document.createXULElement('panel');
document.getElementById('mainPopupSet').appendChild(panel);
var browser = document.createXULElement('browser');
browser.setAttribute('type', 'content');
browser.setAttribute('flex', '1');
browser.width = '600px';
browser.height = '300px';
panel.appendChild(browser);
var url = 'http://example.com';
browser.setAttribute('src', url);
panel.openPopup();
Alles anzeigen
Wenn ich es richtig verstanden habe, funktioniert das in Fx 69 nicht mehr, weil der Code auf Browserebene ausgeführt wird und die Urls von Webseiten nicht als trusted (vertrauenswürdig) eingestuft sind. Mit, zumindest einigen, about:-Seiten klappt es weiterhin, denn die gelten als trusted, z.B. about:mozilla, about:robots. Eine naheliegende Idee ist, so wie in Tabs, das Laden mit einem Frame Skript durchzuführen. Die vorletzte Zeile:
wird dann ersetzt durch:
browser.messageManager.loadFrameScript('data:, content.location.href = "' + url + '"', true);
Das Ergebnis ist allerdings das gleiche, Webseiten werden nicht geladen, about:-Seiten dagegen schon.
In der Konsole erscheint die unspezifische Fehlermeldung NS_ERROR_FAILURE.
Heißt also, der Wetterfuchsbutton ist tot!?
Hallo Boersenfeger.
Das würde ich nicht sagen. Mal abwarten.
Mfg.
Endor
Der liegt jetzt halt erst Mal nutzlos rum und frisst kein Brot... ich warte
Im Code aus #32 muss man noch folgende Zeile einfügen, dann klappt es:
So, wie es aussieht, werde ich also den Wetterfuchs wieder zum Funktionieren bringen.
Muss man jetzt den modifizierten Code aus 32 + 36 in ein eigenes Script packen, oder direkt in das Wetterfuchsbutton-Script?
Wenn letzteres, einfach hinzufügen oder andere Zeilen dafür entfernen?
Edit: Als eigenes Script funktioniert es nicht in Nightly!
// ==UserScript==
// @name wetterfuchsbutton_fix.uc.js
// @compatibility Firefox 70
// @editor aborix
// ==/UserScript==
var panel = document.createXULElement('panel');
document.getElementById('mainPopupSet').appendChild(panel);
var browser = document.createXULElement('browser');
browser.setAttribute('type', 'content');
browser.setAttribute('flex', '1');
browser.setAttribute('remote', 'true');
browser.width = '600px';
browser.height = '300px';
panel.appendChild(browser);
var url = 'http://example.com';
browser.messageManager.loadFrameScript('data:, content.location.href = "' + url + '"', true);
panel.openPopup();
Alles anzeigen
Im Code aus #32 muss man noch folgende Zeile einfügen, dann klappt es:
aborix Wie jetzt? In Zeile 32 steht bei mir nur }, - das ist die abschließenede Klammer der Variable wetterfuchs am Anfang des Skripts und das abschließende Komma. Soll die genannte Zeile wirklich dort hinein? Und was ist mit der geänderten Zeile aus Beitrag #32, muss die ebenfalls verwendet werden?