- Firefox-Version
- Release 158.0.1
- Betriebssystem
- Windows 11
Ich habe das Skript installiert und es funktioniert einwandfrei. Jetzt habe ich aber festgestellt, dass ich keinen Text mehr markieren und kopieren kann. Hat das noch jemand festgestellt.
Ich habe das Skript installiert und es funktioniert einwandfrei. Jetzt habe ich aber festgestellt, dass ich keinen Text mehr markieren und kopieren kann. Hat das noch jemand festgestellt.
Hat das noch jemand festgestellt.
Dann poste doch bitte mal dein Skript.
Ansonsten lädt das nur einzelne CSS-Dateien, und hat mit markieren nichts zu tun![]()
// ==UserScript==
// @name ShadowCSSLoader.uc.js
// @namespace ShadowCssLoader
// @include main
// @charset UTF-8
// @version 1.1.12.09.2026
// @description Lädt automatisch alle CSS-Dateien aus chrome/CSSShadow/
// in Firefox und Thunderbird.
// Eine userChromeShadow.css ist nicht erforderlich.
// @author erstellt mit KI
// @compatibility Firefox 155+ / Thunderbird 140+
// ==/UserScript==
(async function() {
// ============================================================
// Nur in den Hauptfenstern von Firefox und Thunderbird starten
// ============================================================
const allowedLocations = [
"chrome://browser/content/browser.xhtml", // Firefox
"chrome://messenger/content/messenger.xhtml" // Thunderbird
];
if (!allowedLocations.includes(location.href)) {
return;
}
try {
// ========================================================
// Profilordner / chrome / CSSShadow
// ========================================================
const folder = PathUtils.join(
PathUtils.profileDir,
"chrome",
"cssShadow"
);
console.log(
"[ShadowCSSLoader] cssShadow-Ordner:"
);
console.log(folder);
// ========================================================
// Dateien aus dem Ordner lesen
// ========================================================
const files = await IOUtils.getChildren(folder);
console.log(
"[ShadowCSSLoader] Einträge im cssShadow-Ordner: " +
files.length
);
// ========================================================
// Nur CSS-Dateien berücksichtigen
// ========================================================
const cssFiles = files
.filter(file => /\.css$/i.test(PathUtils.filename(file)))
.sort((a, b) =>
PathUtils.filename(a).localeCompare(
PathUtils.filename(b),
undefined,
{
numeric: true,
sensitivity: "base"
}
)
);
console.log(
"[ShadowCSSLoader] CSS-Dateien gefunden: " +
cssFiles.length
);
if (cssFiles.length === 0) {
throw new Error(
"Keine CSS-Dateien gefunden in:\n" + folder
);
}
// ========================================================
// CSS-Dateien zusammenführen
// ========================================================
let cssIn = "";
let cssCount = 0;
for (const file of cssFiles) {
const name = PathUtils.filename(file);
console.log(
"[ShadowCSSLoader] Gefunden: " + name
);
try {
const text = await IOUtils.readUTF8(file);
cssIn +=
"\n\n/* ==================================================\n" +
" BEGINN " + name + "\n" +
" ================================================== */\n" +
text +
"\n/* ==================================================\n" +
" ENDE " + name + "\n" +
" ================================================== */\n";
cssCount++;
console.log(
"[ShadowCSSLoader] CSS gelesen: " +
name +
" (" +
text.length +
" Zeichen)"
);
} catch (e) {
console.error(
"[ShadowCSSLoader] Fehler beim Lesen von " +
name +
": " +
e.name +
": " +
e.message
);
}
}
console.log(
"[ShadowCSSLoader] CSS-Dateien gelesen: " +
cssCount
);
console.log(
"[ShadowCSSLoader] Gesamtzeichen: " +
cssIn.length
);
if (cssCount === 0) {
throw new Error(
"Keine CSS-Datei konnte gelesen werden."
);
}
// ========================================================
// Style Sheet Service
// ========================================================
const sss = Cc[
"@mozilla.org/content/style-sheet-service;1"
].getService(
Ci.nsIStyleSheetService
);
// ========================================================
// Data-URI erzeugen
// ========================================================
const uri = Services.io.newURI(
"data:text/css;charset=UTF-8," +
encodeURIComponent(cssIn)
);
// ========================================================
// Stylesheet registrieren
// ========================================================
sss.loadAndRegisterSheet(
uri,
sss.AUTHOR_SHEET
);
console.log(
"[ShadowCSSLoader] Stylesheet registriert."
);
console.log(
"[ShadowCSSLoader] " +
(location.href.includes("messenger")
? "Thunderbird"
: "Firefox") +
" CSS erfolgreich geladen."
);
} catch (e) {
console.error(
"[ShadowCSSLoader] Fehler: " +
e.name +
": " +
e.message
);
}
})();
Alles anzeigen
Hat das noch jemand festgestellt.
Kein Problem hier mit dem Skript:
Wie lautet der CSS-Code den du damit laden willst, bzw. welche Codes hast du alles?