Gerne ![]()
Mfg.
Endor
Gerne ![]()
Mfg.
Endor
wie wäre es mit einem Script
:
// ==UserScript==
// @name OpenWith
// @description Fügt dem Kontextmenü ein Menü hinzu, zum Öffnen der aktuelle Seite und eines ausgewählten Links in einem anderen Browser.
// @description und eines ausgewählten Links in einem anderen Browser.
// @version 1.2.1b 69+
// @author y2k
// @include main
// @charset UTF-8
// @namespace http://tabunfirefox.web.fc2.com/
// @note Anwendungssymbol anzeigen
// @note als .uc.js Script umgeschrieben
// ==/UserScript==
(function() {
"use strict";
/*
Vor Verwendung, Pfad auf eigene Umgebung ändern(\ wird durch \\ ersetzt)
Zum Übergeben von Argumenten, wie folgt vorgehen:
C:\\Program Files\\Internet Explorer\\iexplore.exe<>$1 Argument Argument
※ $1 wird in URL umgewandelt
*/
const BrowserPath = {
"Firefox Beta": "C:\\Programme\\Firefox\\Beta64bit\\BetaMultiLoader.exe",
"Firefox Nightly": "C:\\Programme\\Firefox\\firefox-22.0a1.en-US.win64-x86_64\\Fiefox-Test\\NightlyMultiLoader.exe",
"Internet Explorer": "C:\\Program Files\\Internet Explorer\\iexplore.exe",
};
const FlatMenu = false;
const OpenWith = {
start: function() {
const cm = document.getElementById("contentAreaContextMenu");
cm.addEventListener("popupshowing", function(e) {
if (e.target == this) { OpenWith.onpopup(e); }
}, false);
},
createMenu: function() {
if (this.pageItem || this.linkItem) {
return;
}
const contextMenu = document.getElementById("contentAreaContextMenu");
const pageMenu = this.$C("menu", { id: "context-open-with-page", label: "Seite öffnen..." });
contextMenu.insertBefore(pageMenu, contextMenu.querySelector(":scope > #context-bookmarkpage, :scope > #context-savepage"));
const linkMenu = this.$C("menu", { id: "context-open-with-link", label: "Link öffnen..." });
contextMenu.insertBefore(linkMenu, contextMenu.querySelector(":scope > #context-sep-open"));
this.pageItem = this.createMenuItem(pageMenu, "openPage", FlatMenu? "Seite öffnen mit $1 ":" Öffnen mit $1");
this.linkItem = this.createMenuItem(linkMenu, "openLink", FlatMenu? "Link öffnen mit $1 ":" Öffnen mit $1");
},
createMenuItem: function(menu, method, format) {
const frag = document.createDocumentFragment();
let menuitem = [];
for (let i of Object.keys(BrowserPath)) {
const item = this.$C("menuitem", {
label: format.replace("$1", i),
class: "menuitem-iconic",
image: "moz-icon:file:///" + BrowserPath[i].split("<>")[0] + "?size=16",
value: JSON.stringify([ method, i ]),
});
item.addEventListener("command", this, false);
frag.appendChild(item);
menuitem[menuitem.length] = item;
}
if (!FlatMenu) {
const menupopup = this.$C("menupopup");
menupopup.appendChild(frag);
menu.appendChild(menupopup);
menuitem = [ menu ];
}
else {
const parent = menu.parentNode;
parent.insertBefore(frag, menu);
parent.removeChild(menu);
}
return menuitem;
},
$C: function(tag, attrs) {
const elem = document.createXULElement(tag);
if (attrs) {
for (let key of Object.keys(attrs))
elem.setAttribute(key, attrs[key]);
}
return elem;
},
onpopup: function(e) {
this.createMenu();
const isHtml = /^(https?|file):/.test(gBrowser.currentURI.spec);
const pageItemHidden = !isHtml || gContextMenu.onLink || gContextMenu.onTextInput;
const linkItemHidden = !isHtml || !gContextMenu.onLink || gContextMenu.onTextInput;
const pageItem = this.pageItem;
for (let i = 0, l = pageItem.length; i < l; i++) {
pageItem[i].hidden = pageItemHidden;
}
const linkItem = this.linkItem;
for (let i = 0, l = linkItem.length; i < l; i++) {
linkItem[i].hidden = linkItemHidden;
}
},
handleEvent: function(event) {
if (event.type === "command") {
const [ method, key ] = JSON.parse(event.originalTarget.getAttribute("value"));
const url = method === "openPage"? gBrowser.currentURI.spec: gContextMenu.linkURL;
this.launch(BrowserPath[key], url);
}
},
launch: function(browserPath, openURL) {
let [ path, args ] = browserPath.split("<>");
if (args) {
args = args.split("^^").map(a => a.replace("$1", openURL));
} else {
args = [ openURL ];
}
const file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath(path);
const process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
process.init(file);
process.run(false, args, args.length, {});
},
};
OpenWith.start();
})();
Alles anzeigen
In Zeile 22, 23 und 24 nicht vergessen die Bezeichnung und den Pfad auf Dein System anzupassen.
Wenn du noch mehr Browser haben solltest entsprechen weitere Zeilen einfügen.
Mfg.
Endor
Vangelis im Alter von 79 Jahren gestorben
R.I.P.
Mfg.
Endor
Habe die Änderung mal nach Github übertragen:
Mfg.
Endor
Nur als Hinweis zum Script noch, Mittelklick oder Rechtsklick auf Schaltfläche,
Löscht den Scriptcache und startet Firefox neu , Linksklick startet nur Firefox neu.
Teste das mal, wenn mal ein Script nicht will, rechts klick auf Schaltfläche machen
und schauen ob es beim Neustart dann funktioniert.
Mfg.
Endor
Das verwende ich auch und hier funktioniert es einwandfrei.
Ich habe hier nur in Zeile 17 einen kürzeren Intervall als du.
10 statt 60, Vielleicht liegt es daran. Teste mal meine Version:
// ==UserScript==
// @name MemoryUsage.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Memory Usage resident memory in MB
// @include main
// @charset UTF-8
// @author Alice0775
// @compatibility 99+
// @version 2022/03/31 23:00 Clicking on the button minimizes memory and updates the usage display.
// @version 2021/09/18 20:00 no longer available resident-unique from MRM due to Bug 1665318. so use commit size instead of resident-unique size
// @version 2021/09/18 20:00 missing MRM
// @version 2021/06/17 22:00 use ChromeUtils.requestProcInfo
// @version 2021/06/17 19:00
// @version 2021/06/15
// ==/UserScript==
var ucjsMemoryUsage = {
INTERVAL: 10, //Abstand in Sekunden
MRM : Components.classes['@mozilla.org/memory-reporter-manager;1']
.getService(Components.interfaces.nsIMemoryReporterManager),
init: function() {
try {
CustomizableUI.createWidget({
id: 'memoryUsageButton',
type: 'custom',
onBuild: function(aDocument) {
let toolbaritem = aDocument.createXULElement('toolbarbutton');
let props = {
id: 'memoryUsageButton',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'MemoryUsage',
tooltiptext: 'Speicher Belegung minimieren',
onclick: 'ucjsMemoryUsage.MRM.minimizeMemoryUsage(()=>{});ucjsMemoryUsage.requestMemory()'
};
for (let p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) {}
style = `#memoryUsageButton .toolbarbutton-text {
display: inline-block !important;
font-weight: bold !important;
font-size: 13px !important;
}
#memoryUsageButton .toolbarbutton-icon {
display: none !important;
}`
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style));
if(!sss.sheetRegistered(uri, sss.AUTHOR_SHEET))
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
window.addEventListener("unload", this, false);
window.setInterval(this.requestMemory, this.INTERVAL * 1000);
this.requestMemory();
},
uninit: function() {
window.removeEventListener("unload", this, false);
},
requestMemory: async function() {
let winTop = Services.wm.getMostRecentWindow("navigator:browser");
if (winTop == window) {
let total =0;
const regex = new RegExp("^resident-unique$");
const handleReport = (aProcess, aPath, aKind, aUnits, aAmount) => {
if(regex.test(aPath)) {
//Services.console.logStringMessage("aPath " + aPath);
total += aAmount;
}
};
await new Promise((r) => {
ucjsMemoryUsage.MRM
.getReports(handleReport, null, r, null, false);
}
);
//Services.console.logStringMessage("total " + txt);
let txt = Math.ceil(total/1024/1024);
for (let win of Services.wm.getEnumerator("navigator:browser")) {
if (win.closed || !win.gBrowser) {
continue;
}
let btn = win.document.getElementById("memoryUsageButton");
if (btn)
btn.setAttribute("label", txt + " MB");
}
}
},
handleEvent: function(event) {
switch (event.type) {
case "unload":
this.uninit();
break;
}
}
}
ucjsMemoryUsage.init();
Alles anzeigen
Mfg.
Endor
Welches Script das Wochenlang ging geht neuestes nicht mehr?
Was das Löschen des Scriptcache betrifft
Ich verwende dazu ein Script welches über
Eine Schaltfläche Firefox neu startet und dabei diesen Scriptcache löscht. Ein Klick
Firefox wird neu gestartet und fertig.
Script siehe hier:
Mfg.
Endor
Auch von mir alles alles Gute zum Geburtstag Goldsunshine!
Vor allem viel Gesundheit aber Glück und Erfolg, wünsche ich
Dir von ganzen Herzen.
Mfg.
Endor
Also die neueste Version der Scripte kannst Du hier finden:
Habe ich eben übersetzt und hoch geladen.
Für dich kommen Script 5 oder 6 in Frage.
Was die Pfade in Linux betrifft, da muss Du bitte auf einen Linux Kundigen
warten. Ich kenne mich da leider nicht aus.
Vielleicht reicht Dir schon diese Beschreibung hier:
Mfg.
Endor
Freut mich wenn es gefällt.
Für die Sidebar verwende ich hier ein Script,
damit wird die Sidebar schwebend und verschiebt nichts mehr.
Es genügt links den Fensterrand nahe zu kommen mit der Maus
und schon wird sie eingeblendet.
Bei Bedarf schiebe ich das gerne mal rüber.
Mfg.
Endor
Das wäre mein aktueller Code dafür:
Getestet nur im Nightly 102
/* AGENT_SHEET */
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url(about:profiles){
html{background:#ffffff !important;}
h1:after {content: "Design by Endor";
margin-left: 230px;
font-size: 25px;
font-weight: bold;
color: red; }
#body {margin-left: 200px !important; max-width: 1040px !important;}
#body{
margin-left: auto !important;
margin-right: auto !important;
max-width: 1200px !important; /* Breite anpassen */
margin-top: 40px !important;
margin-bottom: 20px !important;
padding-bottom: 30px !important;
padding-top: 15px !important;
padding-left: 50px !important;
padding-right: 50px !important;
background-color: #fffff0 !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-radius: 20px !important;
border-width: 4px !important;
border-style: outset !important;}
#body:hover{
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
.action-box{
width: 32% !important;
border-radius:24px !important;}
.action-box > h3:nth-child(1){
margin-left: 13px !important;
}
#profiles > div > table{border-radius:24px !important;}
#profiles > div > table > tbody > tr:nth-child(1) > th:nth-child(1){border-top-left-radius:24px !important;
padding-top: 8px !important; padding-bottom: 8px !important;}
#profiles > div > table > tbody > tr:nth-child(1) > td:nth-child(2){border-top-right-radius:24px !important;}
#profiles > div > table > tbody > tr:nth-child(3) > th:nth-child(1){border-bottom-left-radius:24px !important;}
#profiles > div > table > tbody > tr:nth-child(3) > td:nth-child(2){border-bottom-right-radius:24px !important;}
th, td {padding-left: 17px !important;}
hr{display: none !important;}
h2{margin-top: 25px !important;}
h3{color: red !important;}
#restart-button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild9.png")no-repeat !important;
margin-left: 8px !important;
padding-left:45px!important;
padding-right: 148px !important;
padding-bottom: 5px!important;
background-position:14px 6px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important;
white-space: nowrap!important;
overflow: hidden !important;
text-overflow: ellipsis!important;
}
#restart-button:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild9.png")no-repeat !important;
background-position:14px 6px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#restart-in-safe-mode-button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild10.png")no-repeat !important;
margin-left: 8px !important;
padding-left:45px!important;
padding-right: 34px !important;
background-position:14px 5px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important;
margin-bottom: 10px !important;
white-space: nowrap!important;
overflow: hidden !important;
text-overflow: ellipsis!important;}
#restart-in-safe-mode-button:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild10.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#create-button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild11.png")no-repeat !important;
padding-left:35px!important;
padding-right:20px!important;
margin-top: 15px !important;
background-position:14px 5px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important; }
#create-button:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild11.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
.action-box > h3, h2, h1 {color: #057A7A !important;}
#profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild12.png")no-repeat !important;
margin-left: 5px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 6px!important;
font-size:14px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important;}
/* Position der Schaltflächen Ordner öffen festlegen - Abstand nach rechts */
#profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button
{position: absolute !important; right: 320px !important; margin-top:-8px !important;}
#profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button
{position: absolute !important; right: 320px !important; margin-top:-8px !important;}
#profiles > div:nth-child(-n+20) > table:nth-child(-n+20) > tbody:nth-child(1) > tr:nth-child(-n+20),
#profiles > div:nth-child(-n+20) > table:nth-child(-n+20) > tbody:nth-child(1) > tr:nth-child(-n+20) > th:nth-child(-n+20)
{height: 32px !important;}
#profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild12.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild12.png")no-repeat !important;
margin-left: 25px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 6px!important;
font-size: 14px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important;}
#profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild12.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#profiles > div:nth-child(n+1) > button:nth-child(3){
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild13.png")no-repeat !important;
margin-top: 8px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 5px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important;}
#profiles > div:nth-child(n+1) > button:nth-child(3):hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild13.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#profiles > div:nth-child(n+1) >button:nth-child(4){
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild8.gif")no-repeat !important;
margin-top: 8px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 5px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important; }
#profiles > div:nth-child(n+1) > button:nth-child(4):hover {
appearance:none!important;
background: #B2EDFA url("..//icons/Bild8.gif")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#profiles > div:nth-child(n+1) >button:nth-child(5){
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild14.png")no-repeat !important;
margin-top: 8px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 7px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important; }
#profiles > div:nth-child(n+1) >button:nth-child(5):hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild14.png")no-repeat !important;
background-position:14px 7px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#profiles > div:nth-child(n+1) >button:nth-child(6){
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild15.png")no-repeat !important;
margin-top: 8px !important;
padding-left:35px!important;
padding-right:20px!important;
background-position:14px 5px!important;
font-size:14.0px!important;
border-style: outset !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-width:2px !important;
border-radius:12px !important;
color:black !important; }
#profiles > div:nth-child(n+1) >button:nth-child(6):hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild15.png")no-repeat !important;
background-position:14px 5px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
.action-box{background: #FDF5E6 !important;}
.action-box > h3{margin-left: 4px !important;}
#profiles > div:nth-child(even) > table
{background: #FFFAF0 !important;}
#profiles > div:nth-child(odd) > table
{background: #FFFFFF !important;}
td:hover{background: #ffeb99 !important;}
th {background-color: #ee7621 !important;}
th:hover {background-color: #b54f06 !important;}
}
Alles anzeigen
Mfg.
Endor
Mein kleiner Betrag ist auch unterwegs auf die angegebene Bank.
Mfg.
Endor
Hallo grisu2099
Also hier funktioniert dein obiges Script im aktuellen Nightly
von Heute, Version 101.0a1 (2022-05-02) (64-Bit),
einwandfrei. Schaltfläche ist in der Navbar, bei klick wird die
Toolbar ein und ausgeblendet.
Vielleicht stört da ein anderes Script bei dir.
Mfg.
Endor
Ja, dass es im Download Fenster nicht immer angezeigt wird, habe ich
auch schon bemerkt, aber keine Lösung dafür gefunden.
Ansonsten freut es mich, wenn es passt.
Mfg.
Endor
Hallo NoNameNeeded .
Wenn es nur um eine Anzeige in Prozent geht,
ich verwende dazu ein Script welches oben in der Titelleiste, auch im Download Fenster
die aktuelle Prozent Zahl anzeigt. Teste mal:
// ==UserScript==
// @name downloadProgressInLibrary.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @include chrome://browser/content/places/places.xhtml
// @include chrome://browser/content/downloads/contentAreaDownloadsView.xhtml
// @compatibility Firefox 31+
// @version 1.0
// @date 2014-10-23 22:00 number of files
// @date 2013-11-26 21:00 null check
// @date 2013-04-06 22:00
// @description Display Download Progress In Library
// ==/UserScript==
const originalTitle = document.title;
var downloadProgressInLibrary = {
_summary: null,
_list: null,
init: function() {
window.addEventListener("unload", this, false);
// 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, Cu.reportError);
}
if (!this._list) {
Downloads.getList(Downloads.ALL).then(list => {
this._list = list;
return this._list.addView(this);
}).then(null, Cu.reportError);
}
},
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;
}
},
onSummaryChanged: function () {
if (!this._summary)
return;
if (this._summary.allHaveStopped || this._summary.progressTotalBytes == 0) {
document.title = originalTitle;
} else {
// Update window title
this.numDls = 0;
if (!this._list)
return;
this._list.getAll().then(downloads => {
for (let download of downloads) {
if (download.hasProgress &&
!download.succeeded &&
!download.canceled &&
!download.stopped )
this.numDls++;
}
let progressCurrentBytes = Math.min(this._summary.progressTotalBytes,
this._summary.progressCurrentBytes);
let percent = Math.floor(progressCurrentBytes / this._summary.progressTotalBytes * 100);
let text = percent + "% von " + this.numDls + (this.numDls < 2 ? " Datei - " : " Dateien - ") ;
document.title = text + originalTitle;
}).then(null, Cu.reportError);
}
}
}
downloadProgressInLibrary.init();
Alles anzeigen
Vielleicht passt das ja.
Mfg.
Endor
Ja leider klappt es automatisch nicht auf.
Mein Können reicht da leider nicht aus.
Vielleicht kann sich das aborix mal anschauen ob und wie man dieses
Script, RE: Separates Downloads-Fenster?, entsprechend erweitern kann.
Mfg.
Endor
Ich verwende dazu dieses Script, es baut in die Navbar
eine Schaltfläche ein, bei klick öffnet sich das Downloadfenster
ungefähr so wie auf Deinem Bild. Leider habe ich noch keinen Weg
gefunden, wie man das Script so erweitern kann dass Fenster bei Download
automatisch öffnet. teste es mal vielleicht hilft dir das weiter.
Downloadbutton.uc.js
// Downloadbutton.uc.js
(function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'Download-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'Download-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: true,
label: 'Download Fenster öffnen',
accesskey: 'D',
tooltiptext: 'Download Fenster öffnen',
style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC7klEQVR42mJgAIL3K2X+AwQQy9VMzf+cIooMAAHE8H6i2n+QKEAAsbCrSjJ8vST4HyCAQByG13Mc/n+/D5EBCCAWsMByBQa2bz/BkgABxAAz5f1aYbAKgAACo6+XJP///OQFFgAIIJbvd23//z/NyPD/NQPDg8uS/wECiIlT+TDjr5/sDK9ZrjMo6D5nBAgguLYPC13/f7nN+v/bQ7H/P77awM0DCCAWGOPLp58MfE80GFiE+RiYOCXhGgECiAlE3PZI/i8iL8bAchMocV2C4d/+fwyPj2qBTQEIIBR02S7+/4N1AigSAAHECPcLyB9/OBkY/rMxMLxkYRDMvwWWAwggJpgCDidZBlazzwzsVg8ZGAXU4SYABBDckYy/2BmYvgsyMLLxMPz+g7AFIIAQCr6zA+0B+oCLn+HHV0Q4AgQQ48MTUv8FvwszsLwUhHhLlIeBkQ+oT+IXw8Pa3wwAAcQkb/GM8f2fbwwMr4CO+8ABDBABBua3wgzP8qQY1BbsZQQIILAj5V3vMj6Tv8Dw8/VbBqZ/nxjuT2BiUFw/D+wLgABCQXeX8v+/5pyAEg4AAYSh6v0il/+cMeIM/9+/YGBgZmNgZOSGKOSTYvi25A6DYOw2FD0AAcSCbsCfX38Y/n+4x/D37R0GZiY2hn/sQN//+8LAzGgClGPCcBVAAGEa8O8/A9MnVoZ/77gZ/gH5zHwCDP//czAwcnID5T5jGAAQQCx3o0L/s/znBXP+/fvD8E/sGgPjJ14GxrdCDAxszMBwBQYrAz8DAx8TA7P8d4anaXH/mf8yMfz/y87w6/9zBoAAYoSlJrbiAwzi7wwY/r38CNSIcCqTFB+E/wvonu//GVj4+Rie855k+NtjzaCwfjYjQAChBMhNt5T/7IV7GaTf6jD8fAZx7h9xXgZ2RmYGVjFBsMYfzZYMqjvmwvUBBBBWBIqqW2t5/n+eo/X/6zKj//d38v4HuRKbWoAAwouOher8Pxmtg1cjQIABAFbt8Z32Ai5RAAAAAElFTkSuQmCC)',
oncommand: "window.open('chrome://browser/content/downloads/contentAreaDownloadsView.xhtml', 'Downloads', 'chrome,resizable=yes,width=600,height=750,left=1220,top=100');"
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
CustomizableUI.registerToolbarNode(tb);
} catch(e) { };
})();
Alles anzeigen
Mfg.
Endor