Signatur
Beschreibung
navigator.cookieEnabled ist eine schreibgeschützte Eigenschaft des Navigator-Objekts. Sie liefert true, wenn der Browser Cookies grundsätzlich erlaubt, und false, wenn der Nutzer oder eine Richtlinie Cookies deaktiviert hat.
Typischerweise prüft man die Eigenschaft vor einem Login, vor dem Speichern einer Sitzung oder vor dem Setzen von Einstellungs-Cookies. So kann man dem Nutzer rechtzeitig einen verständlichen Hinweis anzeigen, statt dass die Anwendung ohne Meldung versagt, etwa bei einer Anmeldung, die nie „hängen bleibt“.
Wichtig: Der Wert ist nur eine grobe Aussage des Browsers. Er berücksichtigt nicht zuverlässig blockierte Drittanbieter-Cookies, seitenbezogene Ausnahmen, Tracking-Schutz oder Erweiterungen. Wer es genau wissen muss, setzt zusätzlich ein Test-Cookie über document.cookie und liest es wieder aus.
In Web-Workern ist die Eigenschaft über WorkerNavigator nicht verfügbar. Dort steht in modernen Browsern stattdessen die asynchrone CookieStore-API zur Verfügung (wo unterstützt).
Rückgabewert
true, wenn Cookies grundsätzlich aktiviert sind, sonst false.Beispiele
Einfache Prüfung
if (navigator.cookieEnabled) {
console.log('Cookies sind aktiviert.');
} else {
console.log('Cookies sind deaktiviert.');
}
Hinweis vor dem Login anzeigen
const loginForm = document.querySelector('#login');
const hint = document.querySelector('#cookie-hint');
loginForm.addEventListener('submit', (event) => {
if (!navigator.cookieEnabled) {
event.preventDefault();
hint.textContent = 'Bitte aktiviere Cookies, damit die Anmeldung funktioniert.';
hint.hidden = false;
}
});
Zuverlässige Prüfung mit Test-Cookie
const cookiesWork = () => {
if (!navigator.cookieEnabled) return false;
try {
document.cookie = 'cookietest=1; SameSite=Lax; path=/';
const ok = document.cookie.includes('cookietest=1');
// Test-Cookie wieder löschen
document.cookie = 'cookietest=; Max-Age=0; path=/';
return ok;
} catch {
return false; // z. B. SecurityError in sandboxed iframes
}
};
console.log('Cookies nutzbar:', cookiesWork());
// Wichtig · Fallstricke
- Nicht absolut zuverlässig: Der Wert kann
truesein, obwohl Cookies für die aktuelle Seite blockiert sind, z. B. durch seitenbezogene Regeln, blockierte Drittanbieter-Cookies in iframes, Tracking-Schutz (Safari ITP, Firefox ETP) oder Erweiterungen. Für kritische Abläufe zusätzlich per Test-Cookie prüfen. - In einem
iframemitsandbox-Attribut ohneallow-same-originwirft schon der Zugriff aufdocument.cookieeinenSecurityError. Den Zugriff deshalb intry/catchkapseln. - Die Eigenschaft sagt nichts über
localStorageodersessionStorageaus. Diese können unabhängig davon gesperrt sein. - Die Eigenschaft ist schreibgeschützt. Zuweisungen werden ohne Fehlermeldung ignoriert.
- Kompatibilität: In allen gängigen Browsern seit Langem verfügbar. In Web-Workern gibt es sie nicht.