Wie immer die Frage nach möglichen Fehlern in der Konsole…
userChrome.js Scripte für den Fuchs (Diskussion)
-
Endor -
12. Mai 2015 um 14:19 -
Erledigt
-
-
Das folgende Script
Sieht hier so aus:
Ich nutze das selten, daher passt der Hintergrund unten nicht
Das ist mein Script im Nightly dazu:
JavaScript
Alles anzeigen// ==UserScript== // @include chrome://mozapps/content/downloads/unknownContentType.xhtml // @charset UTF-8 // @version Fx78+ // ==/UserScript== (function() { const Cu = Components.utils; if (!window.FileUtils) Cu.import('resource://gre/modules/FileUtils.jsm'); if (!window.Services) Cu.import('resource://gre/modules/Services.jsm'); var css = ` hbox.dialog-button-box button.dialog-button menupopup { background: #F0F0F0 !important; border: 1px solid #CCCCCC !important; padding: 2px !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover { background: #91C9F7 !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left { padding: 3px !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text{ padding: 3px !important; padding-left: 5px !important; padding-right: 12px !important; }`; var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); var uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)) sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); setTimeout(function() { saveTo() }, 200); function saveTo() { // config var dirArray = [ ['C:\\Users\\Andi\\Documents', 'Dokumente'], ['C:\\Users\\Andi\\Pictures\\Screenshots', 'Screenshots'], //["" + FileUtils.getDir('UChrm', []).path + "", "chrome"], //["" + FileUtils.getDir('UChrm', ['SubScript']).path + "", "SubScript"], ['F:\\', 'F:'], ['G:\\', 'G:'], ['S:\\', 'S:'], ]; let button = document.getElementById("unknownContentType").getButton("cancel"); let saveTo = button.parentNode.insertBefore(document.createXULElement("button"), button); var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup")); saveTo.classList.toggle("dialog-button"); saveTo.label = "Speichern in.."; saveTo.type = "menu"; dirArray.forEach(function(dir) { var [name, dir] = [dir[1], dir[0]]; var mi = document.createXULElement("menuitem"); var item = saveToMenu.appendChild(mi); item.setAttribute("label", (name || (dir.match(/[^\\/]+$/) || [dir])[0])); item.setAttribute("image", "moz-icon:file:///" + dir + "\\"); item.setAttribute("class", "menuitem-iconic"); item.addEventListener("command", function() { var file = new FileUtils.File(dir.replace(/\\/g, '\\\\') + '\\\\' + (document.getElementById('locationtext') ? document.getElementById('locationtext').value : document.getElementById('location').value)); dialog.mLauncher.saveDestinationAvailable(file); dialog.onCancel = function() {}; close(); }); }); } }());
-
Das ist mein Script im Nightly dazu:
Hmmm, auch das öffnet nicht den Dialog.
-
öffnet nicht den Dialog.
Welche Einstellung hast du denn hier?
Hast du mal einen Beispiellink wo es sich nicht öffnet?
-
Hast du mal einen Beispiellink wo es sich nicht öffnet?
Ist alles egal, der Download beginnt, aber nicht so wie bisher über den Speichern-Dialog, den du hier RE: userChrome.js Scripte für den Fuchs (Diskussion) zeigst.
-
über den Speichern-Dialog, den du hier
Damit du siehst, ich habe es im Nightly getestet
-
Damit du siehst, ich habe es im Nightly getestet
Ich glaube dir doch, Andreas.
In vier Nightly getestet, das gleiche Ergebnis hier. Dialog öffnet nicht, weder mit deinem, noch mit meinem. Nun mache ich noch einen ohne-alles-Test, mal schauen was passiert.
-
Bei mir funktioniert das Skript ebenfalls mit der Version, die ich habe.
Damit du siehst, ich habe es im Nightly getestet
Steht auch im Speichern-Dialog.
-
Dialog öffnet nicht
Welche Einstellung hast du denn hier?
-
Nightly neu angesetzt, nur für den Test die nötigen Dateien installiert, jetzt wird auch der Dialog eingeblendet, aber der css-Code wird fast völlig ignoriert. Nur das untere Popup zeigt noch einen kleinen Teil des vorgegebenen Codes.
Haben sich eventuell die Selektoren geändert? Ich wollte über die Browser-Werkzeuge da ran, schaffe ich nicht.
Hier dann noch der css-Code:
CSS
Alles anzeigen/*========= Download-Fenster ** Datei speichern und öffnen mit **** einfärben =========*/ /*==================== in Verbindung mit Script saveTo.uc.js =========================*/ @-moz-document url(chrome://mozapps/content/downloads/unknownContentType.xhtml) { /* Öffnen mit - bei verknüpftem Programm */ #openHandler{ appearance: none!important; min-height:20px!important; background:lightgreen!important; /* Hintergrund der Zeile */ } /* Öffnen mit DropDown-Menü Hintergrundfarbe */ #openHandlerPopup { background: lightgreen !important; } /* Öffnen mit DropDown-Menü Separatoren entfernt */ #openHandlerPopup > menuseparator:nth-child(3) { display: none !important; } /* Hintergrund des Popup-Fenster */ dialog#unknownContentType{ background: yellow !important; } /* Dateiname in Farbe */ #location { color: red !important; } /* Hintergrund der einzelnen Button */ hbox.dialog-button-box button[label="Speichern nach"]{ appearance: none!important; color: white !important; background: dodgerblue !important; } hbox.dialog-button-box button[label="Speichern nach"]:hover { appearance: none !important; color: white !important; background: blue !important; } hbox.dialog-button-box button[label="Abbrechen"] { appearance: none !important; color: white !important; background: red !important; } hbox.dialog-button-box button[label="Abbrechen"]:hover { appearance: none !important; color: white !important; background: green !important; } hbox.dialog-button-box button[label="Datei speichern"] { appearance: none !important; color: white !important; background: green !important; } hbox.dialog-button-box button[label="Datei speichern"]:hover { appearance: none !important; color: white !important; background: orange !important; } hbox.dialog-button-box button[label="OK"] { appearance: none !important; color: blue !important; background: coral !important; } hbox.dialog-button-box button[label="OK"]:hover { appearance: none !important; color: white !important; background: forestgreen !important; } }
-
Der CSS-Code ist auch in die userChrome.css (direkt oder als @import-Befehl) eingebunden? Es sieht so aus, als ob nur der CSS-Code wirkt, der im Skript enthalten ist.
-
Der CSS-Code ist auch in die userChrome.css (direkt oder als @import-Befehl) eingebunden?
Wird als @import angesprochen.
Jetzt mal nur in der userChrome.css getestet, keine Änderung.
-
Sieht bei mir so aus, nur mit deinem zusätzlichen CSS-Code, der CSS-Code des Skripts ist meiner. Aber der Teil funktioniert ja bei dir.
Du musst das mal überprüfen. Sind vor dem @import-Befehl auch nur weitere @import-Befehle? Vor einem @import-Befehl darf kein CSS-Code stehen, nur ein weiterer @import-Befehl.
-
Du musst das mal überprüfen. Sind vor dem @import-Befehl auch nur weitere @import-Befehle? Vor einem @import-Befehl darf kein CSS-Code stehen, nur ein weiterer @import-Befehl.
Das kenne ich ja nun schon, und es war und ist nur der eine Befehl da.
Jetzt mal die Bitte, zeige mir mal deinen Importeintrag in der userChrome.css. Ich glaube da muss ein Zusammenhang bestehen (oder nich?). So steht es hier geschrieben: @import "CSS/Fenster Datei speichern.css";
Ich habe mal den gesamten Code in das Script geschaufelt, dann sieht es so aus (ist aber mit Fehlern behaftet). Nun sag doch mal einer was da nicht stimmt.
-
Ich habe einfach den Code in die userChrome.css übernommen. Aber ich lagere ihn jetzt mal aus.
Funktioniert ausgelagert mit @import-Befehl ebenso.
-
Funktioniert ausgelagert mit @import-Befehl ebenso.
Wenn es jetzt ein verbastelter Fox wäre, ja dann hätte ich ja noch Verständnis dafür. Wieso wird der Code nicht geladen, weder aus der userChrome.css, noch über @import. Da muss doch was faul sein, und das in allen meinen Nightly.
-
-
Vergleiche doch mal die Dateinamen der CSS-Datei und die des Eintrags.
Dateinamen markiert, kopiert, in @import eingefügt, so dass keine Fehler passieren.
-
Die CSS-Datei ist auch im Ordner CSS und nicht etwa in CSSWeb? Sie ist in UTF-8? Ist das die alte CSS-Datei oder hast du sie erst neu gemacht? Wenn du sie nicht geändert oder verschoben hast, müsste sie noch funktionieren.
Ist das ein neues Profil? Ist die Einstellung in about:config da eventuell noch nicht auf true?
-
Die CSS-Datei ist auch im Ordner CSS und nicht etwa in CSSWeb? Sie ist in UTF-8? Ist das die alte CSS-Datei oder hast du sie erst neu gemacht?
Es funktioniert bis Version 95 ohne Probleme. In allen Nightly nicht mehr, und wie schon gesagt, da frage ich mich wieso die Datei nicht aufgerufen wird. Ich kann auch nicht sagen wie lange das schon so ist. Jedenfalls sind heute alle manuell mit dem aktuellen Update versorgt worden.
-