Diese Userscript-API wird aber auch nur für Webseiten-Änderungen sein, nicht für die Anpassung des Browsers, das ist also für Add-ons wie GreaseMonkey gedacht. Die neue API verspricht mehr Zuverlässigkeit, mehr Performance und durch Sandboxing mehr Sicherheit als die bisherige Umsetzung solcher Add-ons.
Styles und css funktioniert in aktueller Nightly nicht mehr
-
seipe -
22. März 2018 um 15:14 -
Erledigt
-
-
Ich denke man braucht da keine Illusionen zu haben, alle Möglichkeiten das Chrome außerhalb offizieller APIs zu ändern werden früher oder später wegfallen. Alles andere macht aus Sicht des fortschreitenden Umbaus nicht wirklich Sinn.
-
Dann müssen wir mal abwarten, was uns die Zukunft so bringt. Schade eigentlich, habe ich mich doch gerade wieder an die so zurückgewonnenen Funktionen gewöhnt
-
Noch wäre es ja immer noch interessant zu erfahren, womit der aktuelle Ausfall diverser Scripts unter Windows zusammenhängt. Das könnte auch eine Erkenntnis zur Zukunft bringen. Mag nicht jemand das Problem versuchen einzugrenzen?
-
Wenn ich wüsste, wie man das macht
Gerne ...
-
Mag nicht jemand das Problem versuchen einzugrenzen?
Wie hier schon beschrieben funktionieren die Scripte nur noch so:
Re: Styles und css funktioniert in aktueller Nightly nicht mehr
Das sieht dann mit 29 Scripten so aus:
[attachment=1]Screenshot (859).png[/attachment]Mache ich dann einen Restart mit einem extra Button der als Script vorhanden ist, dann sind alle Scripte deaktiviert.
[attachment=0]Screenshot (860).png[/attachment]
Es liegt auch nicht an einem einzelnen Script, es funktioniert auch nicht wenn ich immer nur 1 Script aktiviere.
-
AngelOfDarkness: Normalerweise verwendet man für diese Art von Ursachenforschung mozregression:
https://mozilla.github.io/mozregression/Dadurch, dass es hier um Scripts geht, wird die Sache komplizierter, weil man ja im Installations- und Profilverzeichnis was platzieren und den Browser vermutlich auch neustarten muss. Deswegen kann ich nicht sagen, was hier weiterhin zu beachten ist. Damit habe ich mich noch nicht auseinandergesetzt, weil ich ja eh nicht betroffen bin und dementsprechend diese Ursachenforschung nicht betreiben kann. Ich müsste mich selbst erst ein bisschen damit befassen, um herauszufinden, wie hier das Vorgehen ist.
andreas: ich meinte, die Ursache des Problems einzugrenzen. Was das Problem ist, habe ich schon verstanden.
-
@Sören ..
oh je .. das klingt nach Fummelei für mich
@all
ich habe das Ticket mal um die Tatsache mit dem zweiten Fenster ergänzt: https://bugzilla.mozilla.org/show_bug.cgi?id=1448669
PS: @Sören .. hattest du nicht mal irgendwo ne kleine Anleitung für mozregression ?
-
Auf der verlinkten Seite sind die Optionen beschrieben:
https://mozilla.github.io/mozregression/…tion/usage.htmlFür Windows gibt es aber auch eine grafische Oberfläche, falls das mit der Kommandozeile zu viel Fummelei ist. Dazu kann ich aber nichts Genaueres sagen. Die grafische Oberfläche habe ich ein einziges Mal verwendet und das ist schon sehr lange her.
-
Ja danke, habe mich da inzwischen ein wenig rein gefummelt, allerdings mit der GUI. Aber scheinbar werden die Scripte im entsprechenden Profil nicht berücksichtigt. Ich bin nun schon von Build 2018-03-19 (bad) bis zum Build 2018-03-16 (welches eigentlich good sein sollte) zurück. Nur sind da die Scripte auch nicht aktiv/vorhanden. Was ja auch Sinn macht, da ja mit jedem Build die Vorbereitung für Scripte fehlen.
Nachtrag :
Bei mir laufen alle Scripte im aktuellen nightly, wenn ich wie beschrieben ein zweites Fenster öffne mit Strg+N.
-
Bei mir laufen alle Scripte im aktuellen nightly, wenn ich wie beschrieben ein zweites Fenster öffne mit Strg+N.Das ist hier auch so.... eine Gnadenfrist?
Man kann das 1. Fenster danach übrigens schließen.... nach einem Neustart ist allerdings erneut STRG+N notwendig.... -
Gnadenfrist mit einem Augenzwinkern ja
Mozilla nimmt halt einfach keine Rücksicht auf die Funktion wenn sie andere Sachen umbauen weshalb es wohl jederzeit nicht mehr oder nicht mehr komplett funktionieren kann. -
Bitte testet:
Nehmt diese Variante für die Skriptausführung: Firefox Anpassungen: die Basis
Im Ordner userChromeJS befindet sich die Datei main.js. Ersetzt den Code darin durch folgenden:Code
Alles anzeigen// main.js /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the userChrome.js component. * * The Initial Developer of the Original Code is * Simon Bünzli <zeniko@gmail.com> * * Portions created by the Initial Developer are Copyright (C) 2007 * the Initial Developer. All Rights Reserved. * * Contributor(s): * alta88 <alta88@gmail.com> * aborix <www.camp-firefox.de/forum> * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ Cu.import("resource://gre/modules/FileUtils.jsm"); let UserChrome_js = { init: function() { Services.obs.addObserver(this, "final-ui-startup", false); Services.obs.addObserver(this, "domwindowopened", false); }, // observer observe: function(aSubject, aTopic, aData) { switch (aTopic) { case "final-ui-startup": let path = OS.Constants.Path.profileDir; let ucFilePath = OS.Path.join(path, "chrome", "userChrome.js"); let ucFile = new FileUtils.File(ucFilePath); if (!ucFile.exists()) { let path = OS.Path.join(ucjsDirPath, "Readme.txt"); let readmeFile = new FileUtils.File(path); readmeFile.copyTo(ucFile.parent, "userChrome.js"); }; if (ucFile.exists() && ucFile.isFile()) { let path = OS.Path.join(ucjsDirPath, "utilities.js"); this.utilFileURI = OS.Path.toFileURI(path); this.ucFileURI = OS.Path.toFileURI(ucFilePath); // Services.obs.addObserver(this, "domwindowopened", false); }; Services.obs.removeObserver(this, "final-ui-startup"); break; case "domwindowopened": aSubject.addEventListener("load", this, {capture: true, once: true}); break; } }, // event listener for load handleEvent: function(aEvent) { let document = aEvent.originalTarget; let window = document.defaultView; if (document.location && document.location.protocol == "chrome:") { try { Services.scriptloader.loadSubScript(this.utilFileURI, window, "UTF-8"); Services.scriptloader.loadSubScript(this.ucFileURI, window, "UTF-8"); } catch (ex) { // script execution can be stopped with |throw "stop";| if (ex != "stop") { Cu.reportError(ex); } } }; } }; UserChrome_js.init();
Dann Neustart mit Skript-Cache leeren.
-
Bei mir keine Änderung.
-
Bei mir schon.
Funktioniert alles wieder.
Vielen Dank!!!
Mfg.
Endor -
Funktioniert hier jetzt auch alles wieder wenn ich das Nightly über die Verknüpfung auf dem Desktop starte. :klasse:
Starte ich es aus Fx 59 über das Script Öffnen mit...,öffnen sich jetzt allerdings 2 Fenster, das eine kompl. schwarz ohne Inhalt, das zweite mit aktivierten Scripten.
Vorher waren diese 2 Fenster nach Start vom Desktop vorhanden. :-??
Wie dem auch sei, ganz herzlichen Dank an aborix dafür :klasse::klasse:
-
danke, funktioniert bei mir auch wieder alles. :klasse: Was nun auch immer anders an der main.js ist und warum da nun Änderungen von Nöten sind ...
Könntest du ggf. damit mein Ticket (vorläufig) zu Ende führen bzw. die Lösung /Workaround erklären ?
-
Ich habe diese Änderung auch mal in die Fx Version 59 und 60 gemacht, auch da weiterhin alles ok.
-
Danke für deine Mühe und Idee :klasse: Ich wollte dies, zumindest für 60 Beta, auch ausprobieren
Doch ich bin eben erst mit dem Projekt "Win10 1803" Build 17123.1 an meinem Läppi soweit fertig geworden
-
Bitte testet:Nehmt diese Variante für die Skriptausführung: Firefox Anpassungen: die Basis
Im Ordner userChromeJS befindet sich die Datei main.js. Ersetzt den Code darin durch folgenden:Code
Alles anzeigen// main.js /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the userChrome.js component. * * The Initial Developer of the Original Code is * Simon Bünzli <zeniko@gmail.com> * * Portions created by the Initial Developer are Copyright (C) 2007 * the Initial Developer. All Rights Reserved. * * Contributor(s): * alta88 <alta88@gmail.com> * aborix <www.camp-firefox.de/forum> * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ Cu.import("resource://gre/modules/FileUtils.jsm"); let UserChrome_js = { init: function() { Services.obs.addObserver(this, "final-ui-startup", false); Services.obs.addObserver(this, "domwindowopened", false); }, // observer observe: function(aSubject, aTopic, aData) { switch (aTopic) { case "final-ui-startup": let path = OS.Constants.Path.profileDir; let ucFilePath = OS.Path.join(path, "chrome", "userChrome.js"); let ucFile = new FileUtils.File(ucFilePath); if (!ucFile.exists()) { let path = OS.Path.join(ucjsDirPath, "Readme.txt"); let readmeFile = new FileUtils.File(path); readmeFile.copyTo(ucFile.parent, "userChrome.js"); }; if (ucFile.exists() && ucFile.isFile()) { let path = OS.Path.join(ucjsDirPath, "utilities.js"); this.utilFileURI = OS.Path.toFileURI(path); this.ucFileURI = OS.Path.toFileURI(ucFilePath); // Services.obs.addObserver(this, "domwindowopened", false); }; Services.obs.removeObserver(this, "final-ui-startup"); break; case "domwindowopened": aSubject.addEventListener("load", this, {capture: true, once: true}); break; } }, // event listener for load handleEvent: function(aEvent) { let document = aEvent.originalTarget; let window = document.defaultView; if (document.location && document.location.protocol == "chrome:") { try { Services.scriptloader.loadSubScript(this.utilFileURI, window, "UTF-8"); Services.scriptloader.loadSubScript(this.ucFileURI, window, "UTF-8"); } catch (ex) { // script execution can be stopped with |throw "stop";| if (ex != "stop") { Cu.reportError(ex); } } }; } }; UserChrome_js.init();
Dann Neustart mit Skript-Cache leeren.
:klasse: ²
-