Start · Sprachen · JavaScript · Referenz · Screen.mozEnabled

Screen.mozEnabled

Eigenschaft

Nicht standardisiertes Boolean-Attribut aus Firefox OS, mit dem sich der Gerätebildschirm ein- (<code>true</code>) oder ausschalten (<code>false</code>) ließ.

seit JavaScript Nicht standardisiert – nur Firefox OS (B2G), veral deprecated seit ja Kategorie: webapi

Signatur

Screen.mozEnabled

Beschreibung

Screen.mozEnabled ist eine lesbare und beschreibbare Eigenschaft des Screen-Objekts (window.screen). Es gab sie nur in Firefox OS (Boot2Gecko). Mit false wurde der Bildschirm dunkel geschaltet, mit true wieder eingeschaltet. Das Gerät selbst lief dabei weiter, wurde also weder in den Ruhezustand versetzt noch ausgeschaltet.

Gedacht war die Eigenschaft für System-Apps, zum Beispiel für den Sperrbildschirm oder die Energieverwaltung von Firefox OS. Auch Telefon-Apps nutzten sie, um den Bildschirm während eines Anrufs über den Näherungssensor auszuschalten. Schreiben durften nur zertifizierte Apps mit der Berechtigung power. Normale Webseiten hatten nie Zugriff darauf.

Firefox OS wird nicht mehr weiterentwickelt, und die Eigenschaft wurde nie standardisiert. In keinem aktuellen Browser gibt es sie, auch nicht im Desktop-Firefox oder in Firefox für Android. Im heutigen Web-Code sollte man sie nicht verwenden. Wer verhindern möchte, dass der Bildschirm abgedunkelt wird, nutzt heute die standardisierte Screen Wake Lock API (navigator.wakeLock.request("screen")).

Rückgabewert

Typ
boolean | undefined
Beschreibung
true, wenn der Bildschirm eingeschaltet ist, sonst false. In allen Umgebungen außer Firefox OS ist die Eigenschaft nicht vorhanden und liefert undefined.

Beispiele

Prüfen, ob die Eigenschaft vorhanden ist

// Prüfen, ob die Firefox-OS-Eigenschaft vorhanden ist
const hatMozEnabled = "mozEnabled" in window.screen;

if (hatMozEnabled) {
  console.log(`Bildschirm aktiv: ${window.screen.mozEnabled}`);
} else {
  console.log("Screen.mozEnabled wird nicht unterstützt");
}
Screen.mozEnabled wird nicht unterstützt

Bildschirm per Näherungssensor schalten (Firefox OS, zertifizierte App)

// Nur in zertifizierten Firefox-OS-Apps mit der Berechtigung "power" wirksam
const setzeBildschirm = (an) => {
  if ("mozEnabled" in window.screen) {
    window.screen.mozEnabled = an;
    return true;
  }
  return false;
};

// Während eines Telefonats: Bildschirm aus, wenn das Ohr am Gerät ist
window.addEventListener("userproximity", (event) => {
  setzeBildschirm(!event.near);
});

Moderner Ersatz: Screen Wake Lock API

// Heute üblich: verhindern, dass der Bildschirm automatisch dunkel wird
let wakeLock = null;

const bildschirmWachHalten = async () => {
  if (!("wakeLock" in navigator)) {
    console.log("Wake Lock API nicht verfügbar");
    return;
  }
  try {
    wakeLock = await navigator.wakeLock.request("screen");
    console.log("Wake Lock aktiv:", !wakeLock.released);
    wakeLock.addEventListener("release", () => console.log("Wake Lock freigegeben"));
  } catch (err) {
    console.error(`${err.name}: ${err.message}`);
  }
};

bildschirmWachHalten();
Wake Lock aktiv: true

// Wichtig · Fallstricke

  • Nicht standardisiert und veraltet: Die Eigenschaft gab es nur in Firefox OS. Kein aktueller Browser unterstützt sie, auch Firefox für Desktop und Android nicht.
  • Berechtigungen: Schreiben durften nur zertifizierte Apps mit der Berechtigung power. In normalen Web-Kontexten bewirkt eine Zuweisung nichts. Sie legt höchstens eine gewöhnliche, wirkungslose Eigenschaft am Objekt an.
  • Bildschirm aus heißt nicht Ruhezustand: mozEnabled = false schaltete nur die Anzeige ab. CPU und Funkverbindungen liefen weiter. Um Strom zu sparen, war zusätzlich navigator.mozPower nötig.
  • Zugehörig: Screen.mozBrightness steuerte in Firefox OS die Bildschirmhelligkeit. Auch diese Eigenschaft ist nicht standardisiert und wurde entfernt.
  • Ersatz: Um den Bildschirm wach zu halten, dient heute die Screen Wake Lock API. Webseiten können den Bildschirm grundsätzlich nicht gezielt ausschalten.