Hm nein, der Code scheint nicht zu funktionieren.
Kein Button in Sicht.
Hm nein, der Code scheint nicht zu funktionieren.
Kein Button in Sicht.
der Code scheint nicht zu funktionieren.
Kein Button in Sicht.
Das war bei dir irgendwie zu erwarten
der Code scheint nicht zu funktionieren.
Kein Button in Sicht.
Das war bei dir irgendwie zu erwarten
Es ist mit Scripts wirklich ein Glücksspiel.
Ich denke nicht, dass ich etwas falsch mache, ich kopiere mit dem Button "Inhalt kopieren", ich füge das in Notepad++ ein, ich achte darauf, dass es in UTF-8 ist und speichere das ganze als *.uc.js Datei und dann starte ich Firefox mehrmals neu im Fehlerbehebungsmodus und lösche den Startcache ebenfalls mehrmals neu.
Nix.
Kein Button.
Auch ein anderes Script, das wochenlang funktioniert hat, funktioniert im Moment nicht.
Aber es ist gut zu wissen, dass es bei euch funktioniert, dann weiß ich wenigstens bescheid.
Am besten wird vllt. sein ich besorge mir Voodoo-Puppen oder ich lasse umgekehrt vllt. einen Exorzisten kommen...;)
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
Dieses Script funktioniert bei mir gerade nicht (zumindest bei meinem Hauptfirefox, bei anderen schon).
Es ergibt absolut keinen Sinn warum Scripts mal funktionieren und mal nicht.
// ==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: 60, //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: 25px !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
Dein Script zur Löschung des Caches werde ich mir nachher ansehen.
Danke schon mal.
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
Es ergibt absolut keinen Sinn warum Scripts mal funktionieren und mal nicht.
Ganz im Gegenteil, Benutzerskripte und auch CSS sind von der Firefox-Entwicklung abhängig. Und es wurde dir bestimmt mehr als einmal geschrieben, dass Mozilla weder auf die Skripte noch auf CSS Rücksicht nimmt, sondern lediglich die Möglichkeit ihrer Benutzung zur Verfügung stellt. Das bedeutet, und das hat man dir bestimmt auch schon zum wiederholten Male mitgeteilt, dass jeder, der Firefox für sich anpasst, sich selbst darum kümmern muss, dass Skripte und CSS bei einer neuen Firefox-Version wieder funktionieren, wenn sie nicht funktionieren sollten.
Was dagegen keinen Sinn ergibt, dass bei dir Skripte und CSS nicht funktionieren, obwohl sie sonst überall funktionieren. Daran sind weder Skripte noch CSS und erst recht nicht Mozilla schuld, sondern ganz allein du.
Der TE schreibt ja in Beitrag #45 wie er den FF nach einer Änderung startet, nämlich im Fehlerbehebungsmodus, und das mehrfach.
Wie man auf die Idee kommen kann, ist allerdings sehr seltsam. Denn wenn man sich den Text mal durchliest, wird man feststellen, daß dieser Modus auf Extensions und Javascript Einfluß nimmt, was ja so auch gewollt ist.
Daher wundert es nicht, daß beim TE selten was auf Anhieb funktioniert. Vielleicht sollte er dies nochmal aufmerksam lesen:
Probleme analysieren im Fehlerbehebungsmodus von Firefox | Hilfe zu Firefox
ZitatZusätzlich zur Deaktivierung der Add-ons (Erweiterungen und Themes) und dem Abschalten der Hardwarebeschleunigung deaktiviert der Fehlerbehebungsmodus von Firefox die Seitenisolierung (Informationen in englischer Sprache), den JavaScript Just-in-time (JIT) Compiler und ignoriert die optionalen Dateien userContent.css und userChrome.css (sofern vorhanden). Die Datei xulstore.json (dort werden die an Symbolleisten, Steuerelementen oder der Fenstergröße vorgenommen Änderungen gespeichert), wird ebenfalls ignoriert, allerdings bleiben die im Konfigurationseditor geänderten Einstellungen in Kraft.
Ganz im Gegenteil, Benutzerskripte und auch CSS sind von der Firefox-Entwicklung abhängig. Und es wurde dir bestimmt mehr als einmal geschrieben, dass Mozilla weder auf die Skripte noch auf CSS Rücksicht nimmt, sondern lediglich die Möglichkeit ihrer Benutzung zur Verfügung stellt. Das bedeutet, und das hat man dir bestimmt auch schon zum wiederholten Male mitgeteilt, dass jeder, der Firefox für sich anpasst, sich selbst darum kümmern muss, dass Skripte und CSS bei einer neuen Firefox-Version wieder funktionieren, wenn sie nicht funktionieren sollten.
Ich habe niemals behauptet, dass Mozilla schuld daran ist, dass Scripts nicht funktionieren.
Ich bitte darum, mir nicht irgendetwas zu unterstellen was ich nicht gesagt habe nur um dieses nie Gesagte dann zu widerlegen.
Was dagegen keinen Sinn ergibt, dass bei dir Skripte und CSS nicht funktionieren, obwohl sie sonst überall funktionieren. Daran sind weder Skripte noch CSS und erst recht nicht Mozilla schuld, sondern ganz allein du.
Ich würde auch hier bitten auf die Schuldzuweisungen zu verzichten.
Denn ich kann glaub ich ausschließen, dass ich daran schuld bin.
Wie sollte ich es denn schaffen bei drei verschiedenen Windows-Installationen mit einerseits ähnlichen, andererseits komplett neuen Firefox-Installationen immer wieder auf dieselben Probleme zu stoßen?
Natürlich gibt es einen Grund warum dieses Fehlverhalten auftritt, aber es ist nicht zwangsläufig immer die Person die vorm PC sitzt die etwas falsch macht.
Solche Verallgemeinerungen nerven einfach nur.
Der TE schreibt ja in Beitrag #45 wie er den FF nach einer Änderung startet, nämlich im Fehlerbehebungsmodus, und das mehrfach.
Wie man auf die Idee kommen kann, ist allerdings sehr seltsam. Denn wenn man sich den Text mal durchliest, wird man feststellen, daß dieser Modus auf Extensions und Javascript Einfluß nimmt, was ja so auch gewollt ist.
Daher wundert es nicht, daß beim TE selten was auf Anhieb funktioniert. Vielleicht sollte er dies nochmal aufmerksam lesen:
https://support.mozilla.org/de/kb/probleme…gsmodus-firefox
ZitatZusätzlich zur Deaktivierung der Add-ons (Erweiterungen und Themes) und dem Abschalten der Hardwarebeschleunigung deaktiviert der Fehlerbehebungsmodus von Firefox die Seitenisolierung (Informationen in englischer Sprache), den JavaScript Just-in-time (JIT) Compiler und ignoriert die optionalen Dateien userContent.css und userChrome.css (sofern vorhanden). Die Datei xulstore.json (dort werden die an Symbolleisten, Steuerelementen oder der Fenstergröße vorgenommen Änderungen gespeichert), wird ebenfalls ignoriert, allerdings bleiben die im Konfigurationseditor geänderten Einstellungen in Kraft.
Wieder so ein Obergescheiter.
Gerade WEIL der Fehlerbehebungsmodus Einfluss nimmt wird ja empfohlen diesen auszuprobieren.
Dass man mit dem Fehlerbehebungsmodus allerdings etwas kaputtmacht, in dem Sinne dass es danach dann nicht mehr funktioniert, wäre mir allerdings neu und steht auch nicht in dem von dir zitierten Text.
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:JavaScript Alles anzeigen// ==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();
Mfg.
Endor
Danke für deinen Hinweis, aber mein Script hat ja bis vor kurzem noch funktioniert und sollte in dieser seiner unveränderten Form ja auch weiterhin funktionieren.
Dein Script zum Neustart von Firefox hat übrigens auf Anhieb sofort funktioniert. Am Problem, dass manche Scripts zeitweise einfach nicht funktionieren aber nichts geändert.
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
Danke, das habe ich schon gesehen.
Leider hat all das nichts gebracht.
Dennoch ist es glaub ich gut ein solches Script zu haben, für weniger "schwerwiegende" Fälle...;)
Alles anzeigender Code scheint nicht zu funktionieren.
Kein Button in Sicht.
Das war bei dir irgendwie zu erwarten
Es ist mit Scripts wirklich ein Glücksspiel.
Ich denke nicht, dass ich etwas falsch mache, ich kopiere mit dem Button "Inhalt kopieren", ich füge das in Notepad++ ein, ich achte darauf, dass es in UTF-8 ist und speichere das ganze als *.uc.js Datei und dann starte ich Firefox mehrmals neu im Fehlerbehebungsmodus und lösche den Startcache ebenfalls mehrmals neu.
Nix.
Kein Button.
Auch ein anderes Script, das wochenlang funktioniert hat, funktioniert im Moment nicht.
Aber es ist gut zu wissen, dass es bei euch funktioniert, dann weiß ich wenigstens bescheid.
Am besten wird vllt. sein ich besorge mir Voodoo-Puppen oder ich lasse umgekehrt vllt. einen Exorzisten kommen...;)
benutz doch visual studio code ... ist eh viel besser , vielleicht klappts dann
… oder Programm X oder Programm Y (ich nutze weder das eine noch das andere). Optionen gibt es wie Sand am Meer. Und auch mit Notepad++ ist das problemlos möglich, wie sich alleine dadurch zeigt, dass das hier im Forum einige nutzen. Das Problem liegt also beim Anwender. Daher bezweifle ich, dass der Wechsel des Programms viel daran ändern kann.
… oder Programm X oder Programm Y (ich nutze weder das eine noch das andere). Optionen gibt es wie Sand am Meer. Und auch mit Notepad++ ist das problemlos möglich, wie sich alleine dadurch zeigt, dass das hier im Forum einige nutzen. Das Problem liegt also beim Anwender. Daher bezweifle ich, dass der Wechsel des Programms viel daran ändern kann.
ja natürlich ist es problemlos möglich ,nur utf-8 fehler schleichen sich meiner erfahrung bei notepad++ leicht ein und der kollege hat ja oft probleme und ist selber auch kein coder
nur utf-8 fehler schleichen sich meiner erfahrung bei notepad++ leicht ein
Das stellst du bei Notepad++ einmal ein und dann passiert da auch kein Fehler...
nur utf-8 fehler schleichen sich meiner erfahrung bei notepad++ leicht ein
Das stellst du bei Notepad++ einmal ein und dann passiert da auch kein Fehler...
auch beim rumkopieren und öffnen fremder dateien etc. ? evtl. öffnet er immer ne template datei die er danach umspeichert.
habe damals ca. 15 addons mit notepad++ geschrieben und hatte immer wieder SPORADISCH Zeichenfehler etc.
wenn jemand immer wieder probleme hat, wie der kollege oben , ist es einen versuch wert mal ein proggie zu probieren, welches solche einstellungen(pro datei wohlgemerkt) nicht benötigt.
NPP hat mit utf überhaupt kein Problem, ist sogar Voreinstellung. Übel wird es immer nur, wenn man mit anderen Editoren reinfuhrwerkt, die utf fehlerhaft bearbeiten oder ein anderes utf-Format speichern, was dann sowieso falsch wäre.