Ob es funktioniert?
Hast du es mal selber getestet? ![]()
Und nein, es funktioniert so auch nicht.
Ob es funktioniert?
Hast du es mal selber getestet? ![]()
Und nein, es funktioniert so auch nicht.
Ob es funktioniert?
So nicht, aber Du hast mich auf eine Idee gebracht, und das Problem ist damit beseitigt. Ich danke Dir! ![]()
Durch diesen Schnipsel wird der HG verhindert:
Durch diesen Schnipsel wird der HG verhindert:
![]()
Und wenn du jetzt oben noch das so schreibst:
@-moz-document url-prefix("chrome://browser/content/downloads/contentAreaDownloadsView.xhtml"),
url-prefix("chrome://browser/content/places/places.xhtml") {
dann passt es auch noch gleich im Standard Popup für Downloads.
@-moz-document url-prefix("chrome://browser/content/downloads/contentAreaDownloadsView.xhtml"),
url-prefix("chrome://browser/content/places/places.xhtml") {
/* Popup-Menü anpassen */
#contentAreaDownloadsView {
background-color: gainsboro !important;
padding: 12px !important;
border: 3px solid dodgerblue !important;
}
#downloadsListBox > richlistitem[selected] .downloadDetails {
opacity: 1 !important;
color: red !important;
font-size: 13px !important;
}
#downloadsListBox > richlistitem[selected] {
background: #ffe6b3 !important;
color: brown !important;
font-weight: 700 !important;
border-bottom: 1px solid grey !important;
border-radius: 0 !important;
outline: 2px solid red !important;
}
#downloadsListBox > richlistitem .downloadDetails {
opacity: .7 !important;
color: black !important;
font-size: 12px !important;
}
#downloadsListBox > richlistitem {
background: beige !important;
color: blue !important;
font-weight: 600 !important;
border-bottom: 1px solid grey !important;
border-radius: 0 !important;
}
#downloadsListBox > richlistitem:hover {
background: lightyellow !important;
}
/* rechts Button "In Ordner anzeigen" */
#downloadsListBox richlistitem.download-state button.downloadButton{
border: 1px solid grey !important;
border-radius: 0 !important;
background-color: #8B4513 !important;
min-height: 35px !important;
max-height: 35px !important;
min-width: 35px !important;
max-width: 35px !important;
margin-right: 10px !important;
margin-top: 15px !important;
}
#downloadsListBox richlistitem.download-state button.downloadButton:hover {
border: 1px solid brown !important;
background-color: greenyellow !important;
}
.downloadButton:hover > .button-box {
background: none !important;
}
.downloadIconShow > .button-box > .button-icon {
fill: white !important;
margin-left: -11px !important;
}
.downloadIconShow:hover > .button-box > .button-icon {
fill: red !important;
margin-left: -11px !important;
}
}
Alles anzeigen
Durch diesen Schnipsel wird der HG verhindert:
Nur mal so.
In der omni ja findet man solche Bezeichnungen auch:
Sollte man/ich also doch hin und wieder mal reinsehen ![]()
Moin Moin,
falls es jemand benötigt, ich habe ein JS-Script gefunden, dass mit drei kleinen Änderungen,
dass Download-Fenster automatisch nach dem Dowload (z.B. 10 Sek.) schliesst.
Zeile 426, 427 von false auf true
Zeile 430 mit // Auskommentieren
dafür einfügen: setTimeout(window.close, 10000); // 3 sek = 3000 ms
Funktioniert einwandfrei
Danke dafür
sehr gern
Danke, war bis gestern immer ein fleissiger "Mitleser" ![]()
Und wenn du jetzt oben noch das so schreibst:
Danke, Andreas, Sidebar und Bibliothek habe ich gesonderten Code, den verändere ich nur noch im Bedarfsfall.
![]()
dass Download-Fenster automatisch nach dem Dowload (z.B. 10 Sek.) schliesst.
Danke, das ist ein weiterer Fortschritt. ![]()
Vielen Dank auch von mir für diesen CSS Code.
Gerne doch, Endor, freut mich ,wenn es Dir gefällt. ![]()
Sidebar und Bibliothek habe ich gesonderten Code
![]()
Wer kann diesen Code-Teil des Scriptes von hier RE: Separates Downloads-Fenster? in das Script von aborix einbauen.
Meine Versuche sind kläglich gescheitert. ![]()
Den CSS-Code für das hier RE: Separates Downloads-Fenster? verlinkte Script habe ich noch ein wenig angepasst. Auch im Script selbst , so sind unten im Fenster die Einträge Deutsch. Wer möchte, der darf sich bedienen.
@-moz-document url-prefix("chrome://browser/content/downloads/contentAreaDownloadsView.xhtml") {
/* Popup-Menü anpassen */
#contentAreaDownloadsView {
background-color: gainsboro !important;
padding: 12px !important;
border: 3px solid dodgerblue !important;
}
#downloadsListBox{
background-color: #FAFAFA !important;
margin-bottom: 10px !important;
}
#downloadsListBox > richlistitem[selected] .downloadDetails {
opacity: 1 !important;
color: red !important;
font-size: 13px !important;
}
#downloadsListBox > richlistitem[selected] {
background: #ffe6b3 !important;
color: brown !important;
font-weight: 700 !important;
border-bottom: 1px solid grey !important;
border-radius: 0 !important;
outline: 2px solid red !important;
margin: 5px 5px 0 5px !important;
}
#downloadsListBox > richlistitem .downloadDetails {
opacity: .7 !important;
color: black !important;
font-size: 12px !important;
}
#downloadsListBox > richlistitem {
background: beige !important;
color: blue !important;
font-weight: 600 !important;
border: 1px solid grey !important;
border-radius: 0 !important;
margin: 5px 5px 0 5px !important;
}
#downloadsListBox > richlistitem:hover {
background: lightyellow !important;
}
/* rechts Button "In Ordner anzeigen" */
#downloadsListBox richlistitem.download-state button.downloadButton{
border: 1px solid grey !important;
border-radius: 0 !important;
background-color: #8B4513 !important;
min-height: 35px !important;
max-height: 35px !important;
min-width: 35px !important;
max-width: 35px !important;
margin-right: 10px !important;
margin-top: 10px !important;
}
#downloadsListBox richlistitem.download-state button.downloadButton:hover {
border: 1px solid brown !important;
background-color: greenyellow !important;
}
.downloadButton:hover > .button-box {
background: none !important;
}
.downloadIconShow > .button-box > .button-icon {
fill: white !important;
margin-left: -11px !important;
}
.downloadIconShow:hover > .button-box > .button-icon {
fill: red !important;
margin-left: -11px !important;
}
}
Alles anzeigen
Den CSS-Code
![]()
Ein Icon fehlt aber noch ![]()
![]()
#ucjs_clearListButton::before {
margin-right: 3px !important;
margin-left: 3px !important;
content: '' !important;
display: block !important;
width: 19px !important;
height: 15px !important;
background-image: url("file:///C:/Users/Andi/Icons%20Firefox/cog_delete.png") !important;
background-repeat: no-repeat !important;
background-position: 0px 1px !important;
background-size: 15px 15px !important;
}
Alles anzeigen
Die Werte müssen evt. noch angepasst werden.
![]()
Ein Icon fehlt aber noch
Genau, das habe ich nicht gemerkt.
Danke!
Vor erster Zeile im Code fehlt #.
Hier wäre das Script jetzt mit Deutscher Übersetzung.
Sonst original wie vom Autor Alice.
Nur als Info:
Für die, die es noch nicht bemerkt haben, es wird unter Extras
einen Menüeintrag zum öffnen des Download Managers eingefügt.
// ==UserScript==
// @name ucjsDownloadsManager.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Donloads Manager
// @include main
// @include chrome://browser/content/downloads/contentAreaDownloadsView.xhtml
// @compatibility Firefox 116
// @author Alice0775
// @version 2023/06/20 remove Bug 1780695 - Remove Services.jsm
// @version 2023/04/02 fix document.title
// @version 2022/11/22 Bug 877389 - [meta] Replace calls to Cu.reportError, etc. from browser code, replace with console.error, etc.
// @version 2022/11/08 11:00 Bug 1798212
// @version 2022/05/04 11:00 missing scope of DownloadIntegration
// @version 2022/04/01 23:00 Convert Components.utils.import to ChromeUtils.import
// @version 2022/02/16 Bug 1747422 - Remove preprocessor variable use from downloads CSS
// @version 2020/12/19 WIP:Workaround to avoid closing the manager if download.error/download.canceled.
// @version 2020/12/18 fix closeWhenDone if small size downloaded
// @version 2020/09/24 fix emptylist layout
// @version 2019/12/11 fix for 73 Bug 1601094 - Rename remaining .xul files to .xhtml in browser
// @version 2019/10/20 12:30 workaround Bug 1497200: Apply Meta CSP to about:downloads, Bug 1513325 - Remove textbox binding
// @version 2019/05/21 08:30 fix 69.0a1 Bug 1534407 - Enable browser.xhtml by default
// @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement
// @version 2018/07/01 16:30 revert Disable btn
// @version 2018/06/12 21:30 remove unused
// @version 2018/06/12 21:00 fix for private window mode
// @version 2018/06/07 12:00 fix file name for history
// @version 2018/04/14 00:00 de XUL overlay
// @version 2017/12/10 12:00 fix error when DO_NOT_DELETE_HISTORY = true
// @version 2017/12/10 12:00 remove workaround Bug 1279329. Disable btn while clear list is doing
// @version 2016/06/10 00:00 Workaround Bug 1279329
// @version 2016/05/04 20:30 remove typo
// @version 2016/05/04 20:00 remove in-content css, add preference for Taskbar Progress
// @version 2016/05/03 01:00 Indicate Taskbar Progress
// @version 2016/04/19 07:00 change title dexcription "/" instead of " of "
// @version 2015/05/08 00:00 remove padding due to Bug 1160734
// @version 2015/03/29 00:00 Check window.windowState instead of sizemode attribute
// @version 2014/12/28 23:00 Skip save window size if closed immediately
// @version 2014-12-23 23:00 number of files
// @version 2014-10-23 22:00 number of files
// @version 2014/10/18 20:00 fix posiotion
// @version 2014/06/07 20:00 Woraround closes
// @version 2014/06/03 12:00
// @version 2014/05/15 22:00 clean up
// @version 2014/05/15 20:00 removed the following oraround
// @version 2014/05/15 19:00 Woraround closes the manager 10 seconds after download completion
// @version 2014/03/31 00:00 fix for browser.download.manager.showWhenStarting
// @version 2014/03/01 12:00 Bug 978291
// @version 2013/12/19 17:10 rename REMEMBERHISTOTY to DO_NOT_DELETE_HISTORY
// @version 2013/12/19 17:00 fix do not close the Manager if there is main window
// @version 2013/12/18 23:10
// @version 2013/12/16 23:10 open only download added
// @version 2013/12/16 02:00 defineLazyModuleGetter for Firefox26
// @version 2013/12/15 22:00 typo and correct version date
// @version 2013/12/15 08:00 label placeholder size
// @version 2013/12/14 20:10 Search
// @version 2013/12/14 19:30 getBoolPref
// @version 2013/12/14 18:30 typo and fix closeWhenDone
// @version 2013/12/14 18:00 browser.download.manager.showWhenStarting , browser.download.manager.closeWhenDone
// @version 2013/12/02 00:00
// @note Require Sub-Script/Overlay Loader v3.0.40mod
// ==/UserScript==
// preferences:
// Automatisch öffnen (Standard: true)
// (bool) browser.download.manager.showWhenStarting
// Automatisch schließen (Standard: false):
// (bool) browser.download.manager.closeWhenDone
// Wenn oben „false“, wird das automatische Schließen nur beim automatischen Öffnen durchgeführt (Standard: „false“):
// (bool) browser.download.manager.closeWhenDoneIfAutoOpened
// Fortschrittsanzeige in der Taskleiste anzeigen (Standardeinstellung: true)
// (bool) browser.download.manager.showProgressInTaskButton
if (location.href == "chrome://browser/content/browser.xhtml") {
// ChromeUtils.import("resource://gre/modules/Services.jsm");
window.ucjs_downloadManager = {
delay: 8000, //Zeitverzögerung für die automatische Anzeige (Millisekunden), wenn auf automatisches Schließen eingestellt ist
_summary: null,
_list: null,
kshowWhenStarting: "browser.download.manager.showWhenStarting",
kcloseWhenDone: "browser.download.manager.closeWhenDone",
kcloseWhenDoneIfAutoOpened:
"browser.download.manager.closeWhenDoneIfAutoOpened",
createElement: function(localName, arryAttribute) {
let elm = document.createXULElement(localName);
for(let i = 0; i < arryAttribute.length; i++) {
elm.setAttribute(arryAttribute[i].attr, arryAttribute[i].value);
}
return elm;
},
init: function() {
window.addEventListener("unload", this, false);
let ref = document.getElementById("menu_openDownloads");
let menu = ref.parentNode.insertBefore(
this.createElement("menuitem",
[{attr: "label", value:"Download Manager öffnen"},
{attr: "accesskey", value:"d"},
{attr : "oncommand", value: "ucjs_downloadManager.openDownloadManager(true);"}
]), ref);
XPCOMUtils.defineLazyModuleGetter(this, "Downloads",
"resource://gre/modules/Downloads.jsm");
// Ensure that the DownloadSummary object will be created asynchronously.
if (!this._summary) {
this.Downloads.getSummary(this.Downloads.ALL).then(summary => {
this._summary = summary;
return this._summary.addView(this);
}).then(null, console.error);
}
if (!this._list) {
this.Downloads.getList(this.Downloads.ALL).then(list => {
this._list = list;
return this._list.addView(this);
}).then(null, console.error);
}
},
uninit: function() {
window.removeEventListener("unload", this, false);
if (this._summary) {
this._summary.removeView(this);
}
if (this._list) {
this._list.removeView(this);
}
},
handleEvent: function(event) {
switch (event.type) {
case "unload":
this.uninit();
break;
}
},
getDMWindow: function() {
var enumerator = Services.wm.getEnumerator(null);
while(enumerator.hasMoreElements()) {
var win = enumerator.getNext();
if (win.location == "chrome://browser/content/downloads/contentAreaDownloadsView.xhtml"
&& PrivateBrowsingUtils.isWindowPrivate(window) ==
PrivateBrowsingUtils.isWindowPrivate(win)) {
return win;
}
}
return null;
},
openDownloadManager: function ucjs_openDownloadManager(aForceFocus) {
var win = this.getDMWindow();
if (win) {
if (aForceFocus) {
win.focus();
win.autoOpened = false;
}
return false; //Wenn vorhanden
}
try {
var height = Math.max(100,Services.prefs.getIntPref("browser.download.manager.size.height"));
var width = Math.max(300,Services.prefs.getIntPref("browser.download.manager.size.width"));
var screenX = Math.min(Math.max(0,Services.prefs.getIntPref("browser.download.manager.size.screenX")), screen.availWidth - width);
var screenY = Math.min(Math.max(0,Services.prefs.getIntPref("browser.download.manager.size.screenY")), screen.availHeight - height);
} catch(r){
height = 300;
width = 600;
screenX = 0;
screenY = 0;
}
win = window.open("chrome://browser/content/downloads/contentAreaDownloadsView.xhtml",
"Download" +
(PrivateBrowsingUtils.isWindowPrivate(window) ? " - Private Window"
: ""),
"outerWidth=" + width + ",outerHeight=" + height +
",left=" + screenX + ",top=" + screenY +
",chrome,toolbar=yes,dialog=no,resizable");
this.success = true;
if (aForceFocus)
win.autoOpened = false;
return win; //Neu
},
success: true,
onDownloadChanged: function (aDownload) {
this.success = this.success && !(aDownload.canceled || aDownload.error);
},
closeTimer: null,
onSummaryChanged: function (aDownload) {
var showWhenStarting = Services.prefs.getBoolPref(this.kshowWhenStarting, true);
if (!showWhenStarting) //DM nicht öffnen, wenn er nicht automatisch geöffnet wird
return
var win = this.getDMWindow();
if (win) { // wenn bereits geöffnet
return;
}
if (this.success && this._summary.allHaveStopped) //Wenn beim Herunterladen kein Fehler auftritt, DM nicht öffnen
return;
var closeWhenDone = Services.prefs.getBoolPref(this.kcloseWhenDone, false);
var closeWhenDoneIfAutoOpened
= Services.prefs.getBoolPref(this.kcloseWhenDoneIfAutoOpened, false);
if (!this.success || !(closeWhenDone || closeWhenDoneIfAutoOpened)) { //DM öffnen, wenn Fehler vorliegen oder das automatische Schließen nicht erfolgt
var newWindow = this.openDownloadManager(false);
if (newWindow) {
newWindow.autoOpened = true;
}
}
this.closeTimer = setTimeout(() => {
if (this.success && this._summary.allHaveStopped) //Keine Fehler, keine Downloads
return;
newWindow = this.openDownloadManager(false);
if (newWindow) {
newWindow.autoOpened = true;
}
}, this.delay);
}
};
ucjs_downloadManager.init();
}
if (window.opener && location.href == "chrome://browser/content/downloads/contentAreaDownloadsView.xhtml") {
ChromeUtils.importESModule(
"resource://gre/modules/DownloadIntegration.sys.mjs"
);
window.ucjs_downloadManagerMain = {
originalTitle:"",
_hasDowbload: false,
_summary: null,
_list: null,
_wait:false,
kshowWhenStarting: "browser.download.manager.showWhenStarting",
kcloseWhenDone: "browser.download.manager.closeWhenDone",
kcloseWhenDoneIfAutoOpened:
"browser.download.manager.closeWhenDoneIfAutoOpened",
createElement: function(localName, arryAttribute) {
let elm = document.createXULElement(localName);
for(let i = 0; i < arryAttribute.length; i++) {
elm.setAttribute(arryAttribute[i].attr, arryAttribute[i].value);
}
return elm;
},
createElementNS: function(NS, localName, arryAttribute) {
let elm = document.createElementNS(NS, localName);
for(let i = 0; i < arryAttribute.length; i++) {
elm.setAttribute(arryAttribute[i].attr, arryAttribute[i].value);
}
return elm;
},
init: function() {
window.addEventListener("unload", this, false);
// xxx remove in-content css
var elements = document.childNodes;
for (var i = 0; i <= elements.length; i++) {
var element = elements[i];
if (element.nodeValue.indexOf("chrome://browser/skin/downloads/contentAreaDownloadsView.css") > -1) {
document.removeChild(element);
break;
}
}
/*
var style = ' \
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); \
#contentAreaDownloadsView { \
padding: 0 ; \
} \
#downloadsListBox:empty + #downloadsListEmptyDescription { \
pointer-events: none; \
} \
'.replace(/\s+/g, " ");
var sspi = document.createProcessingInstruction(
'xml-stylesheet',
'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
);
document.insertBefore(sspi, document.documentElement);
sspi.getAttribute = function(name) {
return document.documentElement.getAttribute(name);
};
*/
document.getElementById("downloadsListEmptyDescription").setAttribute("flex", "1");
let ref = document.documentElement;
ref = ref.appendChild(this.createElement("hbox", []));
ref.appendChild(this.createElement("button",
[{attr: "id", value: "ucjs_clearListButton"},
{attr: "label", value: "Liste leeren"},
{attr: "accesskey", value: "L"}
]));
ref.appendChild(this.createElement("spacer",
[{attr: "flex", value: "1"}]));
ref.appendChild(this.createElementNS("http://www.w3.org/1999/xhtml", "input",
[{attr: "id", value: "ucjs_downloadManagerMain_input"},
{attr: "clickSelectsAll", value: "true"},
{attr: "type", value: "search"},
{attr: "placeholder", value: "Suchen..."},
{attr: "aria-autocomplete", value: "list"}
]));
document.getElementById("ucjs_clearListButton").addEventListener("command", function(event) {
ucjs_downloadManagerMain.clearDownloads();
});
document.getElementById("ucjs_downloadManagerMain_input")
.addEventListener("input", function(event) {
ucjs_downloadManagerMain.doSearch(event.target.value);
});
this.originalTitle = document.title +
(PrivateBrowsingUtils.isWindowPrivate(window) ? " - Private Window"
: "");
document.title = this.originalTitle;
/*
// xxx Bug 1279329 "Copy Download Link" of context menu in Library is grayed out
var listBox = document.getElementById("downloadsListBox");
var placesView = listBox._placesView;
var place = placesView.place;
placesView.place= null;
placesView.place = place;
*/
setTimeout(function(){this._wait = true}.bind(this), 0);
// Ensure that the DownloadSummary object will be created asynchronously.
if (!this._summary) {
Downloads.getSummary(Downloads.ALL).then(summary => {
this._summary = summary;
return this._summary.addView(this);
}).then(null, console.error);
}
if (!this._list) {
Downloads.getList(Downloads.ALL).then(list => {
this._list = list;
return this._list.addView(this);
}).then(null, console.error);
}
var showProgressInTaskButton = Services.prefs.getBoolPref("browser.download.manager.showProgressInTaskButton", true);
if (showProgressInTaskButton)
setTimeout(function() {
try {
let docShell = window.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem).treeOwner
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIXULWindow).docShell;
let gWinTaskbar = Components.classes["@mozilla.org/windows-taskbar;1"]
.getService(Components.interfaces.nsIWinTaskbar);
this._taskbarProgress = gWinTaskbar.getTaskbarProgress(docShell);
} catch(ex) {
this._taskbarProgress = null;
}
}.bind(this), 10);
},
uninit: function() {
window.removeEventListener("unload", this, false);
this._taskbarProgress = null;
if (this._wait)
this.saveSizePosition();
if (this._summary) {
this._summary.removeView(this);
}
if (this._list) {
this._list.removeView(this);
}
},
handleEvent: function(event) {
switch (event.type) {
case "unload":
this.uninit();
break;
}
},
saveSizePosition: function() {
if (window.windowState == 3) {
Services.prefs.setIntPref("browser.download.manager.size.height", window.outerHeight);
Services.prefs.setIntPref("browser.download.manager.size.width", window.outerWidth);
Services.prefs.setIntPref("browser.download.manager.size.screenX", window.screenX);
Services.prefs.setIntPref("browser.download.manager.size.screenY", window.screenY);
}
},
success: true,
onDownloadChanged: function (aDownload) {
this.success = this.success && !(aDownload.canceled || aDownload.error);
},
onSummaryChanged: function () {
if (!this._summary)
return;
if (!this._hasDowbload) {
this._hasDowbload = true;
return;
}
if (this._summary.allHaveStopped || this._summary.progressTotalBytes == 0) {
document.title = this.originalTitle;
if (this._taskbarProgress) {
this._taskbarProgress.setProgressState(
Ci.nsITaskbarProgress.STATE_NO_PROGRESS, 0, 0);
}
var closeWhenDone = Services.prefs.getBoolPref(this.kcloseWhenDone, true);
var closeWhenDoneIfAutoOpened = Services.prefs.getBoolPref(this.kcloseWhenDoneIfAutoOpened, true) && window.autoOpened;
if (this.success && (closeWhenDone || closeWhenDoneIfAutoOpened)) {
window.DownloadIntegration?._store?.save();
window.close();
}
} else {
// If the last browser window has been closed, we have no indicator any more.
if (this._taskbarProgress) {
if (this._summary.allHaveStopped || this._summary.progressTotalBytes == 0) {
this._taskbarProgress.setProgressState(
Ci.nsITaskbarProgress.STATE_NO_PROGRESS, 0, 0);
} else {
// For a brief moment before completion, some download components may
// report more transferred bytes than the total number of bytes. Thus,
// ensure that we never break the expectations of the progress indicator.
let progressCurrentBytes = Math.min(this._summary.progressTotalBytes,
this._summary.progressCurrentBytes);
this._taskbarProgress.setProgressState(
Ci.nsITaskbarProgress.STATE_NORMAL,
progressCurrentBytes,
this._summary.progressTotalBytes);
}
}
// Update window title
var numDls = 0;
if (!this._list)
return;
this._list.getAll().then(downloads => {
for (let download of downloads) {
if (download.hasProgress && !download.succeeded)
numDls++;
}
let progressCurrentBytes = Math.min(this._summary.progressTotalBytes,
this._summary.progressCurrentBytes);
let percent = Math.floor(progressCurrentBytes / this._summary.progressTotalBytes * 100);
let text = percent + "%/" + numDls + (numDls < 2 ? " file - " : " files - ") ;
document.title = text + this.originalTitle;
}).then(null, console.error);
}
},
clearDownloads: function ucjs_clearDownloads() {
var DO_NOT_DELETE_HISTORY = true; /* custmizable true or false */
var richListBox = document.getElementById("downloadsListBox");
var places = [];
function addPlace(aURI, aTitle, aVisitDate) {
places.push({
uri: aURI,
title: aTitle,
visits: [{
visitDate: (aVisitDate || Date.now()) * 1000,
transitionType: Ci.nsINavHistoryService.TRANSITION_LINK
}]
});
}
function moveDownloads2History(d) {
if (DO_NOT_DELETE_HISTORY &&
!PrivateBrowsingUtils.isWindowPrivate(window)) {
for (let element of richListBox.childNodes) {
let download = element._shell.download;
let aURI = makeURI(download.source.url);
// let aTitle = document.getAnonymousElementByAttribute(element, "class", "downloadTarget").value
let aTitle = download.target.path;
aTitle = aTitle.match( /[^\\]+$/i )[0];
aTitle = aTitle.match( /[^/]+$/i )[0];
let aVisitDate = download.endTime || download.startTime;
addPlace(aURI, aTitle, aVisitDate)
}
}
// Clear List
richListBox._placesView.doCommand('downloadsCmd_clearDownloads');
if (DO_NOT_DELETE_HISTORY &&
!PrivateBrowsingUtils.isWindowPrivate(window)) {
if (places.length > 0) {
var asyncHistory = Components.classes["@mozilla.org/browser/history;1"]
.getService(Components.interfaces.mozIAsyncHistory);
asyncHistory.updatePlaces(places);
}
}
}
var btn = document.getElementById("ucjs_clearListButton");
moveDownloads2History(0);
},
doSearch: function ucjs_doSearch(filterString) {
var richListBox = document.getElementById("downloadsListBox");
richListBox._placesView.searchTerm = filterString;
}
};
ucjs_downloadManagerMain.init();
}
Alles anzeigen
Mfg.
Endor
Vor erster Zeile im Code fehlt #.
Danke ![]()
Habe ich mal geändert oben.
Genau, das habe ich nicht gemerkt.
Wir helfen uns doch immer gerne. ![]()
das Script jetzt mit Deutscher Übersetzung.
![]()
Auch dir vielen Dank dafür.
Nur als Info:
![]()
Werde diese Version auch bei Github hoch laden.
Gute Idee ![]()