iPad(OS3.2)のSafari で window.localStorage.setItem() を連続で使うと、QUOTA_EXCEEDED_ERRが出てスクリプトがそれ以降実行されなくなる症状にあいました。
調べてみると、dankogaiさんも同じ症状に遭遇している様子。それで見ると、removeItem() すると回避できるのだとか。
加えて、エラー処理しておくと親切かなぁと思いました。それで、try ... catch の良い例を調べていたら、try ... catch のサンプルに、removeItem() が書き加えられてますね。
[抜粋] function setItem(key, value) { try { log("Inside setItem:" + key + ":" + value); window.localStorage.removeItem(key); window.localStorage.setItem(key, value); }catch(e) { log("Error inside setItem"); log(e); } log("Return from setItem" + key + ":" + value); }
そもそも、window.localStorage の変数って書き換え回数の制限でもあるのかな?頻繁な値の書き換えはそもそも問題?あるいはバグ?