HTML5 Local Storage und Privates Surfen in Safari unter iOS

Seit einiger Zeit benutze ich Safari unter iOS nur noch im Modus Privates Surfen. Der Browser merkt sich dabei nicht mehr so viele Daten, speichert Cookies weniger lange und schützt damit die Privatsphäre. Für die allermeisten Webseiten ist das kein Problem, eingeloggt bleibe ich tendenziell eher in spezialisierten Apps.

Einer der angewandten Methoden in iOS 8.3 ist die Beschränkung der Quote von HTML5 Local Storage auf Null. Versucht man es trotzdem zu benutzen, erhält man die Fehlermeldung QUOTA_EXCEEDED_ERRROR DOM Exception 22.

Das oben verlinkte, ansonsten exzellente Dive Into HTML5 liefert just in dieser Situation die falsche Routine, um die Unterstützung von Local Storage in einem JavaScript zu testen.

Besser funktioniert der Ansatz aus Modernizr:

function localStorageEnabled() {
  try {
    localStorage.setItem('test_key_which_noone_else_uses', 'test');
    localStorage.removeItem('test_key_which_noone_else_uses');
    return true;
  } catch (e) {
    return false;
  }
}