Autor Zpráva
čert12
Profil *
Ahoj, našel jsem několik funkcí na zjisštění zda prohlížeč podporuje web storage:

1.
function supporthtml5storage() {
    try {
        return 'localStorage' in window && window['localStorage'] !== null;
    } catch (e) {
        return false;
    }
}

if (supporthtml5storage()) {
    console.log('funkce supporthtml5storage... prohlížeč podporuje');
} else {
    console.log('funkce supporthtml5storage... prohlížeč NEpodporuje');
}

2.
if(window.localStorage) {
    alert('ls exists');
} else {
    alert('ls does not exist');
}

3.
if(typeof Storage !== "undefined")
  {
      console.log('sup storage');
  }
else
  {
  console.log('Sorry! No web storage support..');
  }

4.
if (typeof window.localStorage == 'undefined') {
    /* Local Storage není podporován */
    console.log('localsotrage neni podporovan!!');
} else {
    console.log('prohlížeč localstorage podporuje');

Zkoušel jsem to na IE 11 a:
u té první mi to vypisuje že localstorage podporuje.
u 2. že ne
u 3. že podporuje
U 4. že nepodporuje

když pracuju v ie s localstorage tak konzole ukazuje chybu, takže to asi nepodporuje. Ale jakou funkci mám používat aby to správně detekovali i ostatní prohlížeče? A proč ie jednou vypisuje že to podporuej a jednou že ne?


caniuse sice ukazuje že by to ten prohlížeč měl podporovat ale ne
Nelze načíst vlastnost setItem nedefinovaného nebo nulového odkazu.
_es
Profil
Najlepšie to otestuješ tak, že zistíš, či to funguje tak, ako má. Lebo to môže byť podporované, no zakázané, vyššie spomenuté testy podpory sa môžu líšiť od skutočnosti...
Kcko
Profil
čert12:
Nemáš pravdu.

2 způsob vIE 11 files.rjwebdesign.cz/i/20171010-130021.png
_es
Profil
Okrem toho, výraz window['localStorage'] !== null vyzerá byť nezmyselný, lebo window['localStorage'] je buď undefined (nie null) alebo niečo iné.
čert12
Profil *
_es:
hm... tohle mám z této knížky knihy.nic.cz/files/edice/html5.pdf na straně 179


čert12:
ale máš pravdu.....

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: