Signatur
Beschreibung
Screen.mozBrightness ist eine proprietäre, nicht standardisierte Eigenschaft des Screen-Objekts. Sie stammt aus Firefox OS (Boot2Gecko) und gibt die aktuelle Helligkeit der Hintergrundbeleuchtung als doppeltgenaue Gleitkommazahl zurück. 0 bedeutet sehr dunkel, 1 volle Helligkeit.
Die Eigenschaft war les- und schreibbar. Zertifizierte Firefox-OS-Apps, etwa die System-Einstellungen, konnten die Helligkeit damit direkt ändern, zum Beispiel für einen Helligkeitsregler oder eine automatische Anpassung an das Umgebungslicht. Werte außerhalb von [0, 1] führten zu einem Fehler.
In normalen Webseiten und in aktuellen Browsern, auch im Desktop- und Android-Firefox, gibt es mozBrightness nicht. Den Zugriff sollte man deshalb immer mit einer Feature-Erkennung absichern. Für neue Projekte gibt es keinen Web-Standard, der die Bildschirmhelligkeit steuert. Verwandte Aufgaben lassen sich mit der Screen Wake Lock API oder mit CSS-Media-Queries wie prefers-color-scheme und prefers-contrast lösen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value | number | Nur beim Setzen: neue Helligkeit zwischen 0 und 1 (einschließlich). Werte außerhalb dieses Bereichs lösen einen Fehler aus. |
Rückgabewert
0 und 1. In Browsern ohne Unterstützung (also praktisch allen heutigen) ergibt der Zugriff undefined.Beispiele
Feature-Erkennung und Auslesen der Helligkeit
const liesHelligkeit = () => {
if ('mozBrightness' in screen) {
return screen.mozBrightness;
}
return null; // nicht unterstützt
};
const wert = liesHelligkeit();
console.log(wert === null
? 'mozBrightness wird nicht unterstützt'
: `Helligkeit: ${Math.round(wert * 100)} %`);
Helligkeit sicher setzen (Firefox OS, zertifizierte App)
const setzeHelligkeit = (wert) => {
if (!('mozBrightness' in screen)) {
console.warn('Helligkeitssteuerung nicht verfügbar');
return false;
}
// Wert auf den gültigen Bereich begrenzen
const begrenzt = Math.min(1, Math.max(0, Number(wert)));
try {
screen.mozBrightness = begrenzt;
return true;
} catch (err) {
console.error('Setzen fehlgeschlagen:', err);
return false;
}
};
setzeHelligkeit(0.3);
Helligkeitsregler an ein Range-Input binden
// <input type="range" id="regler" min="0" max="1" step="0.05">
const regler = document.querySelector('#regler');
if (regler && 'mozBrightness' in screen) {
regler.value = screen.mozBrightness;
regler.addEventListener('input', (e) => {
screen.mozBrightness = parseFloat(e.target.value);
});
} else if (regler) {
regler.disabled = true;
regler.title = 'Helligkeit kann in diesem Browser nicht gesteuert werden';
}
// Wichtig · Fallstricke
- Nicht standardisiert und veraltet: Nur in Firefox OS (B2G) verfügbar gewesen, und dort nur für privilegierte bzw. zertifizierte Apps. Kein aktueller Browser unterstützt die Eigenschaft, Firefox Desktop und Android eingeschlossen. Nicht in Produktivcode einsetzen.
- Immer Feature-Erkennung: Prüfen Sie mit
'mozBrightness' in screen. Ohne Unterstützung liefert ein Lesezugriffundefined, und ein Schreibzugriff legt nur still eine eigene Eigenschaft an, ohne irgendeine Wirkung. - Wertebereich: Nur Werte von
0bis1sind gültig. Werte vorher begrenzen, sonst gibt es einen Fehler. - Einstellung des Nutzers: Eine vom Nutzer gewählte Helligkeit sollte nicht ungefragt überschrieben werden. Das betrifft Barrierefreiheit und Akkulaufzeit.
- Alternativen: Im Web gibt es keinen Standard zur Helligkeitssteuerung. Damit der Bildschirm eingeschaltet bleibt, eignet sich
navigator.wakeLock.request('screen'). Für helle bzw. dunkle Darstellung gibt es CSS-Media-Queries wieprefers-color-scheme.