Autor Zpráva
Kotrmelec
Profil
Ahoj, řeším takový záludný problém. Mám tento kód:
function save(){
  localStorage.setItem(document.formular.klic.value,document.formular.hodnota.value);
}
function load(){
  var jmeno_loc = localStorage.getItem(document.formular.klic_uziv.value);    
  document.getElementById('showText').innerHTML = jmeno_loc;
  }
......

Vše funguje téměř v každém prohlížeči (Safari 5, Chrome, Firefox, Opera vše ok) až na IE8 a IE11 (v jiných to nemám možnost zkusit). Když to spustím právě v IE, tak mi to vyhodí chybu:
"Nelze načíst vlastnost setItem nedefinovaného nebo nulového odkazu."

Řeším to přes formulář (formular):
<input type="text" name="klic" placeholder="Sem vpište klíč.">
<input type="text" name="hodnota" placeholder="Sem vpište hodnotu.">
<input class="button" type="submit" name="ulozit" value="Uložit" onclick="save();">
<input class="button" type="button" name="nacist" value="Načíst hodnotu" onclick="load();">

Chtěla bych vědět, kde dělám chybu nebo zda se musí JS v IE psát nějak jinak?

Děkuji
_es
Profil
Kotrmelec:
Netestuješ to z lokálneho disku? Vtedy by to možno nemuselo fungovať.
Kotrmelec
Profil
Testuji, jak je pak ale možné že v ostatních prohlížečích to funguje bez problému i z lokálu?


Otestovala jsem to online a funguje to.
Děkuji
Chamurappi
Profil
Reaguji na Kotrmelec:
Ostatní prohlížeče podporují localStorage i na protokolu file. On se totiž localStorage váže na doménu a v adrese file:///něco.html je doména prázdná (byla by mezi druhým a třetím lomítkem), což z nějakého důvodu Explorerům vadí.

Kdybys stránku načítala přes lokální server (Apache nebo IIS, http://localhost/něco.html), tak by ti fungovala i v Exploreru. Nemusí tedy být online někde venku.

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:

0