У меня есть веб-приложение HTML5, в котором я использую localStorage для сохранения некоторых пользовательских настроек на стороне клиента между использованиями.Я думал, что у меня все хорошо работает, но недавно я обнаружил, что в браузере WebOS элементы localStorage очищаются после того, как браузер полностью закрыт (все карты - не только моя страница).Он действует так, как будто он сохранен в хранилище сеанса, но это не так.Вот минимальный пример, который иллюстрирует мою проблему:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta charset="utf-8" />
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
$(function() {
$('#btnV').click(function() {
var x = '';
for(var i = 0; i < localStorage.length; i++) {
x += localStorage.key(i) + ':' + localStorage.getItem(localStorage.key(i)) + '<br/>';
}
$('#lbl').empty().append(x);
});
$('#btnS').click(function() {
localStorage.setItem('test', 'blah');
});
});
</script>
</head>
<body>
<span id="lbl"></span>
<input type="button" id="btnS" value="Save" />
<input type="button" id="btnV" value="View" />
</body>
</html>
Когда я впервые загружаю страницу и нажимаю кнопку «Просмотр», ничего не отображается.Если я нажму «Сохранить», а затем «Просмотр», я увижу элемент как сохраненный.Обновление страницы и немедленное нажатие на кнопку «Вид» показывают, что значение сохраняется при перезагрузке страницы.Однако, если я полностью закрою браузер и вернусь на страницу, «Вид» не покажет значений, как это было в первый раз.Я неправильно настраиваю элементы localStorage или мой браузер WebOS как-то настроен для этого?Я не смог найти ничего подходящего в настройках.
Спасибо ...