Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
JAVASCRIPT STORAGE / CHAPTER 06 / Учене / LESSON 10
Теория. setItem може да хвърли грешка — най-често QuotaExceededError (препълнено хранилище), но и когато записът е забранен. Ако не го хванеш, скриптът спира; ако го хванеш и въпреки това покажеш "Saved", лъжеш потребителя.
Правило за честен статус: покажи успех САМО след като setItem е минал без грешка.
try { window.labStorage.setItem("last", value); status.textContent = "saved"; } catch (error) { status.textContent = "save-failed"; }
Редът има значение: setItem е ПЪРВО, текстът "saved" е след него (в try, не преди). При грешка не изчиствай полето — потребителят да не загуби написаното — и не рисувай новия запис като запазен.
В Code Lab хостът симулира препълване (първият запис, или всички след N успешни, хвърлят QuotaExceededError).
Честа грешка: status = "saved" преди setItem; празен catch; изчистване на формата преди успешен запис.
<form id="f"><input id="title" name="title" type="text"><button type="submit">Save</button></form><p id="status"></p>Честният статус идва след успешния setItem, в try; catch показва неуспеха.
(празно)Натисни Run — HTML се зарежда в sandbox iframe; Stop маха iframe-а (спира и безкраен цикъл).
›