Fehler kann ich bestätigen
Danke für den Test
Solltest Du dafür eine Lösung haben
Dann poste ich das neue Script, ist doch klar
Danke auch dir für den Test
PS:
Wahrscheinlich kann mir/uns hier wieder nur aborix helfen
Fehler kann ich bestätigen
Danke für den Test
Solltest Du dafür eine Lösung haben
Dann poste ich das neue Script, ist doch klar
Danke auch dir für den Test
PS:
Wahrscheinlich kann mir/uns hier wieder nur aborix helfen
Ich habe noch mal getestet...
Es scheint einen Zusammenhang mit dem Dateityp, der heruntergeladen wurde, zu geben.
Bei einigen Dateitypen (z.B.: .txt, .jpg) funktioniert das Öffnen des Explorer-Fensters bei mir.
Bei anderen (z.B.: .pdf, .exe) geht kein Explorer-Fenster auf.
Insofern kann ich den Fehler jetzt (teilweise) bestätigen...
Vielleicht hilft das bei der Ursachen-Suche.
Bei einigen Dateitypen
Danke für den Hinweis.
Hier funktioniert es leider mit gar keiner Datei.
Bei einigen Dateitypen (z.B.: .txt, .jpg) funktioniert das Öffnen des Explorer-Fensters bei mir.
Bei anderen (z.B.: .pdf, .exe) geht kein Explorer-Fenster auf.
Hier funktioniert es leider mit gar keiner Datei.
Ich kann das Problem derzeit nur für exe-Dateien bestätigen, allerdings scheinen exe-Dateien auch nicht richtig erkannt zu werden, siehe Symbol, oder irre ich mich da?
siehe Symbol
Hallo Ralf.
Das sieht hier auch so aus:
Ordner lässt sich auch nicht öffnen.
Das sieht hier auch so aus:
Also müsste man das mal mit einem andere exe-Download testen und schauen wie es da aussieht.
Ordner lässt sich auch nicht öffnen.
Wenn ich das Script raus nehme, wähle den Speicherort aus, dann öffnet sich auch der Explorer nach Klick auf das Ordnersymbol. Also muss es m.M.n. mit dem Script zusammenhängen.
mit einem andere exe-Download testen
Es geht ja nur darum, dass sich der Download Ordner nicht über das Download Popup öffnen lässt, wenn es nicht der Standard Ordner ist.
Klicke ich links auf den Button: Datei speichen, dann lässt sich der Ordner öffnen.
mit dem Script zusammenhängen.
Hallo FuchsFan...
so ist es hier auch.
Es geht ja nur darum, dass sich der Download Ordner nicht über das Download Popup öffnen lässt, wenn es nicht der Standard Ordner ist.
Hm,
sowohl exe-Dateien, als auch z.B. zip-Dateien werden hier nicht im Standardordner gespeichert, aber nur der Ordner in dem exe-Dateien gespeichert werden, lässt sich nicht öffnen, aber der Ordner für zip-Dateien schon.
aber der Ordner für zip-Dateien schon.
Hier nicht.
Bei meinem Test wurden alle Test-Dateien im gleichen Ordner gespeichert. Mal öffnete sich das Explorer-Fenster, mal nicht...
Neuer Test:
.exe-Datei mit dem Script heruntergeladen: Links-Klick auf den Link "Speichern in" im Script -> Fenster öffnet sich nicht.
Rechts-Klick auf den Link -> "Speichern unter" im Kontext-Menü -> Fenster öffnet sich nach dem Download.
Dabei ist es unwichtig, ob der Download in den Standard-Download-Ordner erfolgt, oder ein anderer Ordner gewählt wird.
Bitte mal testen (mit unterschiedlichen Dateitypen und unterschiedlichen Zielordnern!):
Wichtig: Die Verzeichnispfade müssen grundsätzlich mit \\ bzw. +"\\" im Script abgeschlossen werden,also:
["" + FileUtils.getDir('UChrm', []).path + "\\", 'chrome'],
['F:\\', 'F:'],
['F:\\Sonst\\Gorsky\\', 'Gorsky'],
['G:\\', 'G:'],
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx104+
// ==/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 = [
["" + FileUtils.getDir('UChrm', []).path + "\\", "chrome"],
['F:\\', 'F:'],
['F:\\Sonst\\Gorsky\\', 'Gorsky'],
['G:\\', 'G:'],
];
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";
var css =`
hbox.dialog-button-box button.dialog-button menupopup {
color: white !important;
background: black !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover{
background: red !important;
color: white !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
padding-left: 6px !important;
margin-left: 1px !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text{
padding-right: 5px !important;
padding-left: 4px !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);
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();
});
});
}
}());
Alles anzeigen
neue Version:
Wichtig: Die Verzeichnispfade müssen NICHT MEHR mit \\ bzw. +"\\" im Script abgeschlossen werden, bleiben also so, wie sie vorher waren...
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx104+
// ==/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 = [
["" + FileUtils.getDir('UChrm', []).path, "chrome"],
['F:', 'F:'],
['F:\\Sonst\\Gorsky', 'Gorsky'],
['G:', 'G:'],
];
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";
var css =`
hbox.dialog-button-box button.dialog-button menupopup {
color: white !important;
background: black !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover{
background: red !important;
color: white !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
padding-left: 6px !important;
margin-left: 1px !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text{
padding-right: 5px !important;
padding-left: 4px !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);
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() {
let pathFile = dir + '\\' + ( document.getElementById('locationtext') ? document.getElementById('locationtext').value : document.getElementById('location').value);
var file = new FileUtils.File( pathFile );
dialog.mLauncher.saveDestinationAvailable(file);
dialog.onCancel = function() {};
close();
});
});
}
}());
Alles anzeigen
neue Version:
Perfekt, ganz herzlichen Dank dafür
Ich hab das mal etwas aufgeräumt:
// ==UserScript==
// @include chrome://mozapps/content/downloads/unknownContentType.xhtml
// @charset UTF-8
// @version Fx104+
// ==/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
const dirArray = [
[FileUtils.getDir('UChrm', []).path, 'chrome'],
['F:', 'F:'],
['F:\\Sonst\\Gorsky', 'Gorsky'],
['G:', 'G:']
];
const button = document.getElementById('unknownContentType').getButton('cancel');
const saveTo = button.parentNode.insertBefore(document.createXULElement('button'), button);
const saveToMenu = saveTo.appendChild(document.createXULElement('menupopup'));
saveTo.classList.toggle('dialog-button');
saveTo.label = 'Speichern in…';
saveTo.type = 'menu';
const css =`
hbox.dialog-button-box button.dialog-button menupopup {
color: white !important;
background: black !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover {
background: red !important;
color: white !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
padding-left: 6px !important;
margin-left: 1px !important;
}
hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text {
padding-right: 5px !important;
padding-left: 4px !important;
}
`;
const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css));
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
dirArray.forEach(function (directory) {
const [name, dir] = [directory[1], directory[0]];
const mi = document.createXULElement('menuitem');
const 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 () {
const locationtext = document.getElementById('locationtext');
const pathFile = dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value);
const file = new FileUtils.File(pathFile);
dialog.mLauncher.saveDestinationAvailable(file);
dialog.onCancel = function () {};
close();
});
});
}
}());
Alles anzeigen
Funktional habe ich nichts verändert.
Ich hab das mal etwas aufgeräumt:
Danke dafür
Bitte um eine kurze Beschreibung, was das JavaScript macht.
Danke
was das JavaScript macht.
Bei einem Download kannst du dir den Speicherort auswählen.
Im Script kannst du die Ordner selber dafür festlegen.
Bei Klick auf den linken Button "OK", wird die Datei in dem in Fx festgelegten Ordner gespeichert.
Gerne. Freut mich, wenn es funktioniert, ich hatte es nämlich zu so später Stunde nicht wirklich sehr ausführlich getestet...