Fixed #2 with HTML5 localStorage.