Autor Zpráva
návštěvník
Profil *
Zdravim, řeším následující problém :
Mám např. tabulku, kterou jednim tlačítkem zobrazim/skryji. (stav se ukládá do proměnné)
Jak ale vyřešit to, aby se při načtení jiné stránky zachoval stav v proměnné (resp. zobrazení/skrytí tabulky).
Předem děkuji za reakce.
__construct
Profil
cookies
Radek9
Profil
Nebo třeba ajaxem zavolat PHP script, který to někam uloží. Ale to je horší varianta.
návštěvník
Profil *
Takže nejjednodušeji to lze provést přes cookies ?
Witiko
Profil
Nejjednodušší rozhodně, ale ne ideální. Cookies pak bude prohlížeč zbytečně odesílat s každým Http požadavkem na danou doménu, i u prvků jakými jsou obrázky apod.

V případě podpory doporučuji využít: localStorage / sessionStorage, globalStorage, userData a až v případě nepodpory cookies.
__construct
Profil
Witiko:
localStorage / sessionStorage, globalStorage, userData
Aká je prosím Ťa podpora v prehliadačoch?
Witiko: Díky moc. Pozeral som na stránky MS - IE8 by mal mať tiež podporu localStorage. Máš s tým nejaké skúsenosti?
Witiko
Profil
__construct:
localStorage a sessionStorage
Jedná se o velmi slušně rozšířené rozhraní ze specifikace HTML5. Aktuálně jej podporuje Chrome, Safari, Opera a Firefox již od verze 3.5. Oba objekty se ovládají stejně, jeden zařizuje ukládání permanentní, druhý po dobu jedné session tzn. spuštění prohlížeče. Data jsou vázána na doménu.

globalStorage
Podporovaná ve starších verzích Opery a Firefoxu, šlo o náhražku za v té době neexistující localStorage. Přístup je podobný, data se též vážou na doménu, k danému objektu se přistupuje pomocí globalStorage[location.domain] - globalStorage je kolekce, nicméně stránka má přístup jen ke svým záznamům.

userData
Specialita Internet Exploreru 5+. Využívá systém css behaviour od Microsoftu a umožňuje tvořit XML dokumenty a jejich obsah zachovat do další relace, případně ve zjednodušené formě uložit stav elementu se všemi jeho atributy a následně jej obnovit.

Cookies
Podpora logicky nejvyšší, ale není určeno k ukládání dat, která server nepotřebuje, tzn. ukládání dat pro javascript ani pro skladování většího množství textu.

Neříkám nepoužít cookies, ale říkám použít cookies jen v případě nepodpory žádné z výše vypsaných technologií. V málokterém prohlížeči nebude ani jedna fungovat.

Pozeral som na stránky MS - IE8 by mal mať tiež podporu localStorage.
Zdá se, že ano. Nicméně se mi choval podivně. V dokumentu s HTML 4.01 v Doctype byl mimo globální kontext undefined, v globálním kontextu fungoval. V IE9 Quirks módu dochází při přístupu k objektu window.localStorage k vyvolání zachytitelné výjimky "Nesprávná funkce.". Nejsem z toho moudrý.

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: