Autor Zpráva
juriad
Profil
Test case:
1/ Kliknout do odpovědní textarei v něajkém vláknu
2/ Napsat text
3/ Kliknout mimo textarea
4/ Kliknout do odpovědní textarei

Předpokládaný výsledek:
v textarei bude text napsaný během kroku 2

Skutečný výsledek:
obsah textarei se smaže

Projevuje se mi ve FF, refresh stránky nepomůže.

Má s tím problém ještě někdo, nebo je chyba na mé straně?


aha, konzole je zaspamovaná: "NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMStorage.setItem]", tady chyba je podle googlu v mém prohlížeči
Chamurappi
Profil
Reaguji na juriada:
chyba je podle googlu v mém prohlížeči
Ale i na mé straně, že si tu výjimku neodchytávám a nezařídím se podle toho.

Když jsem psal kus skriptu, který může způsobovat smazání textu, hodně jsem nad tím váhal, jestli je to dobrý nápad, ale nakonec mi to vyšlo jako logická možnost. Text příspěvku se průběžně ukládá do localStorage, což je samo o sobě docela bez komplikací (tedy asi až na možný výskyt zmíněného selhání), potíž nastává v okamžiku, kdy si člověk otevře v tomtéž prohlížeči stejnou stránku víckrát. Musím se v takové situaci nějak postarat o sesynchronizování všech <textarea>, jinak by nešlo předvídat, která verze rozepsaného příspěvku se do localStorage uloží.

Synchronizaci provádím v okamžiku, kdy dostane <textarea> focus. Takže se běžně v případě, že byl rozepsaný příspěvek v jiném okně už odeslán (nebo uživatelem vymazán z formuláře), <textarea> vyprázdní. Tobě se tedy z nějakého důvodu děje totéž, aniž bys příspěvek odesílal či mazal.
juriad
Profil
K chybě docházelo ve funkci zapis; celé to bylo způsobené mým upgradem systému (arch linux) se spuštěným firefoxem, nějak se pohádaly knihovny a bohužel toto byl jediný projev problémů. Myslím, že se jedná o tak exotickou diskonfiguraci, že to není třeba řešit.
Chamurappi
Profil
Reaguji na juriada:
Ze zkušeností z jiného serveru vím, že localStorage.setItem selhává i obyčejnějším lidem. Přesné důvody neznám, ale výjimka vyskakuje. Tuším, že ji umí způsobovat mimo jiného i privátní režim v mobilním Safari.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0