Mira_Belle
vielen Dank.![]()
Mfg.
Endor
Mira_Belle
vielen Dank.![]()
Mfg.
Endor
Hallo milupo.
Habe nun eine Info eingebaut und eine Deutsche Beschreibung hinzugefügt.
Schau Dir das bitte mal an ob es so passt:
// ==UserScript==
// @name addons_ver_day_updatecheck.uc.js
// @description Bei about:addons beim Titel der Erweiterung Versionsinfo und Installationsdatum hinzufügen
// @update Anpassung zur Verwendung der ESM-Module mit der Dateiendung .sys.mjs von milupo
// @note Wer vor dem Datum der Installation, einen Text haben möchte, Zeile 40 aktivieren
// @note und Zeile 41 deaktivieren. (// ← entfernen bzw. hinzufügen)
// @include main
// ==/UserScript==
if (typeof window === "undefined" || globalThis !== window) {
this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];
ChromeUtils.defineESModuleGetters(this, { AddonManager: "resource://gre/modules/AddonManager.sys.mjs", });
try {
ChromeUtils.registerWindowActor("AboutAddonsVerbose", {
child: {
moduleURI: __URI__,
events: {
DOMDocElementInserted: {},
},
},
matches: ["about:addons"],
});
} catch (e) {Cu.reportError(e);}
this.AboutAddonsVerboseChild = class extends JSWindowActorChild {
handleEvent({type}) {
if (type !== "DOMDocElementInserted") return;
const win = this.contentWindow;
const doc = win.document;
doc.addEventListener("view-loaded", () => {
const addons = doc.querySelectorAll(".addon-name");
for (let addon of addons) {
const addonId = addon.querySelector("a")?.href.slice("addons://detail/".length);
if (addonId) AddonManager.getAddonByID(addonId).then(result => {
const {version, updateDate} = result;
const info = doc.createElement("span");
info.style.fontSize = "1rem";
info.style.fontStyle = "normal";
info.style.fontWeight = "900";
info.style.marginInlineEnd = "8px";
// info.textContent = `${version} - Installation: ${updateDate.toLocaleDateString("de-DE")}`;
info.textContent = `${version} - ${updateDate.toLocaleDateString("de-DE")}`;
addon.insertAdjacentElement("afterend", info);
}).catch(err => Cu.reportError(err));
}
});
}
};
}
else {
try {
const fileHandler = Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler);
const scriptFile = fileHandler.getFileFromURLSpec(Components.stack.filename);
const resourceHandler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
if (!resourceHandler.hasSubstitution("about-addons-verbose-ucjs")) {
resourceHandler.setSubstitution("about-addons-verbose-ucjs", Services.io.newFileURI(scriptFile.parent));
}
ChromeUtils.import(`resource://about-addons-verbose-ucjs/${scriptFile.leafName}?${scriptFile.lastModifiedTime}`);
} catch (e) {Cu.reportError(e)}
}
Alles anzeigen
Mfg.
Endor
milupo .
Vielen vielen Dank.
Funktioniert bestens. In Firefox 129, Firefox 130b1 und Firefox 131 Nightly getestet.
Darf ich die bei mir in Github hochladen?
Sollten wir im Kopfbereich einen Hinweis auf Deine Änderungen einfügen?
Mfg.
Endor
Genau das ist es.
Wie gesagt, ohne Änderungen funktioniert es, warum auch immer.
Mit nicht. ![]()
Hast du in about:config:
browser.addons.showVersionInAboutAddons
extensions.showVersionInAboutAddons
auf true? Bei mir gibt es die übrigens nicht.
Mfg.
Endor
Hallo milupo .
Das script fügt bei about:addons bei den Erweiterungen im jeweiligen Titel
die Versionsnummer und das Installationsdatum hinzu. Lasse das Script jetzt so wie
es ist, da es ja funktioniert. Habe Deine Änderungen probiert, aber das funktioniert
leider nicht.
about-addons-verbose.uc.js
Das habe ich nirgendswo gefunden. Der Autor hatte das Script
letzten November bei einer Japanischen Seite hoch geladen.
Da war das nicht dabei.
Mfg.
Endor
Hallo zusammen, Hallo milupo .
Ich verwende dieses Script hier:
// ==UserScript==
// @name Show addon details in about:addons
// @include main
// ==/UserScript==
if (typeof window === "undefined" || globalThis !== window) {
this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];
ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
try {
ChromeUtils.registerWindowActor("AboutAddonsVerbose", {
child: {
moduleURI: __URI__,
events: {
DOMDocElementInserted: {},
},
},
matches: ["about:addons"],
});
} catch (e) {Cu.reportError(e);}
this.AboutAddonsVerboseChild = class extends JSWindowActorChild {
handleEvent({type}) {
if (type !== "DOMDocElementInserted") return;
const win = this.contentWindow;
const doc = win.document;
doc.addEventListener("view-loaded", () => {
const addons = doc.querySelectorAll(".addon-name");
for (let addon of addons) {
const addonId = addon.querySelector("a")?.href.slice("addons://detail/".length);
if (addonId) AddonManager.getAddonByID(addonId).then(result => {
const {version, updateDate} = result;
const info = doc.createElement("span");
info.style.fontSize = "1rem";
info.style.fontStyle = "normal";
info.style.fontWeight = "900";
info.style.marginInlineEnd = "8px";
info.textContent = `${version} - ${updateDate.toLocaleDateString("de-DE")}`;
addon.insertAdjacentElement("afterend", info);
}).catch(err => Cu.reportError(err));
}
});
}
};
}
else {
try {
const fileHandler = Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler);
const scriptFile = fileHandler.getFileFromURLSpec(Components.stack.filename);
const resourceHandler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
if (!resourceHandler.hasSubstitution("about-addons-verbose-ucjs")) {
resourceHandler.setSubstitution("about-addons-verbose-ucjs", Services.io.newFileURI(scriptFile.parent));
}
ChromeUtils.import(`resource://about-addons-verbose-ucjs/${scriptFile.leafName}?${scriptFile.lastModifiedTime}`);
} catch (e) {Cu.reportError(e)}
}
Alles anzeigen
in Zeile 8 steht:
ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
die Datei AddonManager.jsm gibt es ja nicht mehr. Wenn ich das umändere auf
AddonManager.sys.mjs diese Datei gibt es, geht es nicht mehr, genau so wie wenn ich diese Zeile entferne.
Konsole sagt die Importregel müsste angepasst werden. Nur wie?
Hast Du / Ihr eine Idee?
Mfg.
Endor
Hallo Artist!
Alles alles Gute zum Geburtstag.
Vor allem viel Gesundheit aber auch viel Glück und Wohlergehen
wünsche ich Dir von ganzen Herzen.
Mfg.
Endor
Habe ich schon getestet, hat aber nicht funktioniert.
Auch nach Neustart nicht.
Für Ask Chat findet man im Inspector, ist dort auf hidden true gesetzt.
Wie man den aktiviert, keine Ahnung. About:config Eintrag?
Selector wäre:
#context-ask-chat
#context-translate-selection und #context-ask-chat habe ich hier so gemacht:
#context-translate-selection{
appearance: none !important;
background: url("..//icons/Translate1.png") no-repeat !important;
min-height: 24px!important;
padding-left:28px!important;
background-position:7px 9px!important;}
#context-translate-selection:hover{
appearance: none !important;
background: #ecf0f6 url("..//icons/Translate1.png") no-repeat !important;
min-height: 24px!important;
padding-left:28px!important;
background-position:7px 9px!important;}
#context-ask-chat{
appearance: none !important;
background: url("..//icons/Ask-Chat1.png") no-repeat !important;
min-height: 24px!important;
padding-left:28px!important;
background-position:7px 9px!important;}
#context-ask-chat:hover{
appearance: none !important;
background: #ecf0f6 url("..//icons/Ask-Chat1.png") no-repeat !important;
min-height: 24px!important;
padding-left:28px!important;
background-position:7px 9px!important;}
Alles anzeigen
Symbole:
![]()
Mfg.
Endor
Hallo Road-Runner .
Auch von mir alles alles Gute zum Geburtstag.
Vor allem viel Gesundheit aber auch viel Glück und Wohlergehen
wünsche ich Dir von ganzen Herzen.
Mfg.
Endor
Hallo AngelOfDarkness !
Auch von mir alles alles Gute zum Geburtstag.
Vor allem viel Gesundheit, aber auch Glück und Wohlergehen wünsche
ich Dir von ganzen Herzen.
Mfg.
Endor
Ja dieses sehe ich letztens auch immer mal wieder beim Anmelden hier im Forum,
eben auch wieder.
Keine Ahnung warum.
Mfg.
Endor
Genau so wie von Sören beschrieben war es hier.
Ohne die namespace Zeile funktioniert Dein CSS Code einwandfrei.
Wieder etwas dazugelernt.
Mfg.
Endor
Hallo 2002Andreas.
Habe Deinen CSS Code auch mal getestet.
Fenster wird damit größer aber die Schriftgröße
ändert sich hier nicht.
Wenn ich es so machen dann passt es
es wird aber sämtlicher Text im Panel Größer.
Weiß jetzt nicht ob das dann so gewollt ist.
Trotzdem auch von mir vielen Dank für dem CSS Code.
Mfg.
Endor
Erledigt:
Mfg.
Endor
Hallo 2002Andreas
Ja diese Zeile musste ich hier auch ändern, da der angegebene Separator
nicht mehr vorhanden ist. Habe hier es so gemacht:
document.getElementById('contentAreaContextMenu')
.insertBefore(menu, document.getElementById('context-sep-open').nextSibling);
Frage tut sich bei euch bei klick auf Druckvorschau noch etwas?
Hier nicht.
Mfg.
Endor
Ps. Das Script bei Github muss ich auch mal aktualisieren.
Hi pleassssse
I am not sure, is this Script used to change the new Tab url?
If yes, here another version:
// ==UserScript==
// @name NewTabUrl.uc.js
// @namespace https://egg.5ch.net/test/read.cgi/software/1710343177/
// @description NewTabUrl
// @include main
// @author Mozilla Firefox
// @compatibility 126+
// @version 2024/05/27 22:00
// ==/UserScript==
(function() {
let func = BrowserCommands.openTab.toString();
func = func.replace(
'url ??= BROWSER_NEW_TAB_URL;',
'url ??= "https://www.camp-firefox.de/forum";' //change url to your needs
);
BrowserCommands.openTab = new Function(
func.match(/\(([^)]*)/)[1],
func.replace(/[^)]*/, '').replace(/[^{]*/, '').replace(/^{/, '').replace(/}\s*$/, '')
);
})();
Alles anzeigen
Mfg.
Endor
Hallo Speravir
Vielen Dank.
Funktioniert hier bestens.![]()
Darf ich die bei mir, bei Github hochladen?
Mfg.
Endor