Start · Sprachen · JavaScript · Referenz · Window.statusbar

Window.statusbar

Eigenschaft

Gibt ein <code>BarProp</code>-Objekt zurück, dessen Eigenschaft <code>visible</code> angibt, ob die Statusleiste des Browserfensters sichtbar ist.

seit JavaScript Baseline: alle Browser (seit 2015 weitgehend) Kategorie: webapi

Signatur

Window.statusbar

Beschreibung

Die schreibgeschützte Eigenschaft window.statusbar liefert ein BarProp-Objekt, das die Statusleiste des Browserfensters beschreibt. Die einzige nutzbare Eigenschaft dieses Objekts ist visible, ein boolescher Wert.

Heutige Browser zeigen keine klassische Statusleiste mehr an. Laut HTML-Standard gibt statusbar.visible deshalb true zurück, wenn das Fenster ein normales Browserfenster ist. Bei einem Popup, das mit window.open() und Fenstereigenschaften (features) geöffnet wurde, ist der Wert false. Genau gleich verhalten sich locationbar, menubar, personalbar, scrollbars und toolbar.

In der Praxis dient die Eigenschaft daher vor allem dazu, zu erkennen, ob die aktuelle Seite in einem Popup läuft. So kann man zum Beispiel das Layout anpassen oder einen „Fenster schließen“-Button einblenden. Die Sichtbarkeit der Leiste lässt sich per Skript nicht ändern.

Rückgabewert

Typ
BarProp
Beschreibung
Ein BarProp-Objekt mit der schreibgeschützten Eigenschaft visible (boolean).

Beispiele

Sichtbarkeit der Statusleiste abfragen

const { visible } = window.statusbar;
console.log(`Statusleiste sichtbar: ${visible}`);
Statusleiste sichtbar: true

Popup-Kontext erkennen und Schließen-Button anzeigen

const istPopup = !window.statusbar.visible;

if (istPopup) {
  const button = document.createElement('button');
  button.textContent = 'Fenster schließen';
  button.addEventListener('click', () => window.close());
  document.body.append(button);
}

console.log(istPopup ? 'Läuft im Popup' : 'Normales Fenster');
Normales Fenster

Alle BarProp-Eigenschaften im Überblick

const leisten = ['locationbar', 'menubar', 'personalbar', 'scrollbars', 'statusbar', 'toolbar'];

const status = Object.fromEntries(
  leisten.map((name) => [name, window[name].visible])
);

console.table(status);
{ locationbar: true, menubar: true, personalbar: true, scrollbars: true, statusbar: true, toolbar: true }

// Wichtig · Fallstricke

  • Nur lesbar: Früher ließ sich statusbar.visible in privilegiertem Code (z. B. in Netscape) setzen. Heute wird eine Zuweisung ohne Fehlermeldung ignoriert.
  • Der Wert zeigt nicht, ob tatsächlich eine Statusleiste zu sehen ist. Er gibt nur an, ob das Fenster als Popup geöffnet wurde. Deshalb liefern alle sechs BarProp-Eigenschaften in modernen Browsern immer denselben Wert.
  • Die Eigenschaften window.status und defaultStatus (Text in der Statusleiste setzen) sind veraltet und in modernen Browsern wirkungslos.
  • Kompatibilität: Chrome, Firefox, Safari und Edge unterstützen die Eigenschaft. Das standardkonforme Verhalten für Popups gibt es seit etwa 2021/2022. Ältere Versionen haben teilweise unabhängig vom Kontext immer true geliefert.
  • Zur Popup-Erkennung ist zusätzlich window.opener nützlich. Mit noopener ist dieser Wert allerdings null.