Start · Sprachen · JavaScript · Referenz · Window.status

Window.status

Eigenschaft

Veraltete Eigenschaft, mit der man früher den Text in der Statusleiste des Browserfensters setzen konnte; heute ist sie nur noch ein wirkungsloser String.

seit JavaScript Veraltet (deprecated) – in allen modernen Browsern deprecated seit ja Kategorie: webapi

Signatur

Window.status

Beschreibung

Die Eigenschaft window.status war ursprünglich dazu da, den Text in der Statusleiste am unteren Rand des Browserfensters festzulegen. Sie wurde vor allem Ende der 1990er-Jahre genutzt, z. B. für Lauftexte oder um beim Überfahren eines Links statt der echten URL einen eigenen Text anzuzeigen.

Weil sich das leicht für Phishing missbrauchen ließ (die echte Link-Adresse wurde verborgen), haben alle modernen Browser die Funktion standardmäßig abgeschaltet. Firefox, Chrome, Safari und Edge zeigen den gesetzten Text nicht mehr an. Die Eigenschaft steht aber aus Kompatibilitätsgründen weiter im HTML-Standard: Man kann einen String zuweisen und wieder auslesen, sichtbar wird er jedoch nicht.

In neuem Code sollte man window.status nicht verwenden. Statusmeldungen gehören in die Seite selbst, z. B. in ein Element mit role="status" oder aria-live="polite". Dann werden sie auch von Screenreadern angesagt.

Beispiele

Wert setzen und wieder auslesen

// Die Zuweisung klappt, der Text erscheint aber in keiner Statusleiste
window.status = 'Daten werden geladen …';
console.log(window.status);

// Nicht-String-Werte werden umgewandelt
window.status = 42;
console.log(typeof window.status, window.status);
Daten werden geladen … string 42

Altes Muster: Link-Hover-Text (funktioniert nicht mehr)

// Früher üblicher Code – heute ohne sichtbaren Effekt
const link = document.querySelector('a');
link.addEventListener('mouseover', () => {
  window.status = 'Zur Produktübersicht';
});
link.addEventListener('mouseout', () => {
  window.status = '';
});
// Der Browser zeigt weiterhin die echte href-URL an.

Moderner Ersatz: barrierefreie Statusmeldung im Dokument

// HTML: <p id="status" role="status" aria-live="polite"></p>
const statusEl = document.getElementById('status');

const setStatus = (text) => {
  statusEl.textContent = text; // textContent statt innerHTML – kein XSS-Risiko
};

const speichern = async () => {
  setStatus('Speichere …');
  await new Promise((r) => setTimeout(r, 500));
  setStatus('Gespeichert.');
};

speichern();

// Wichtig · Fallstricke

  • Veraltet: Alle aktuellen Browser (Chrome, Firefox, Safari, Edge) ignorieren den Wert für die Anzeige. In Firefox gab es früher die Einstellung dom.disable_window_status_change, die inzwischen standardmäßig aktiv ist.
  • Sicherheit: Die Funktion wurde abgeschaltet, weil man damit Link-Ziele verschleiern und Nutzer täuschen konnte (Phishing). Man kann sich also nicht darauf verlassen, dass sie irgendwo noch funktioniert.
  • Globaler Name: Weil status eine Eigenschaft von window ist, wird eine globale Variable var status = 1 im Skript-Kontext in den String "1" umgewandelt. Das ist ein häufiger Anfängerfehler. let/const oder Module umgehen das Problem.
  • window.defaultStatus ist ebenfalls veraltet und wurde aus den meisten Browsern entfernt.
  • Als Ersatz dienen ARIA-Live-Regionen (role="status") oder eigene Toast-/Hinweis-Elemente.