Frohe Ostern allerseits! ![]()
Da bin ich mal in der glückliche Lage, wo bei mir obiges Script in FX 75 / 76beta3 und Nightlly 77 jeweils funktioniert.
Mein Script:
Code
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx73+
// ==/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');
setTimeout(function() {
saveTo()
}, 200);
function saveTo() {
// Config
var dirArray = [
['C:\\Users\\Diete\\Downloads', 'Downloads'],
['C:\\Users\\Diete\\Pictures\\Firefox_Forum', 'Bilder FX'],
['C:\\Users\\Diete\\Pictures\\Homebanking\\Subsembly', 'Bilder Subsembly'],
['C:\\Users\\Diete\\Pictures\\Homebanking\\Quicken', 'Bilder F-Manager'],
['C:\\Users\\xxx\\Music', 'Musik'],
['C:\\Users\\xxx\\Videos', 'Videos'],
['G:\\Safe\\PDF_Dateien', 'PDF'],
["C:\\", "C:"],
["F:\\", "F:"],
["G:\\", "G:"],
["H:\\", "H:"],
["I:\\", "I:"],
["K:\\", "K:"]
];
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 nach";
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.saveToDisk(file, 1);
dialog.onCancel = function() {};
close();
});
});
}
}());
Alles anzeigen
Sieht so aus: