В дополнение к этому вопросу, я получаю любопытный результат при привязке функции к событию изменения объекта Storage в Chrome 8.0.552.224.
Тест:
<!DOCTYPE html>
<html>
<head>
<title>Chrome localStorage Test</title>
<script type="text/javascript" >
var handle_storage = function () {
alert('storage event');
};
window.addEventListener("storage", handle_storage, false);
</script>
</head>
<body>
<button id="add" onclick="localStorage.setItem('a','test')">Add</button>
<button id="clear" onclick="localStorage.clear()">Clear</button>
</body>
</html>
- Откройте страницу в двух окнах Chrome, в одном окне с двумя вкладками,
- Нажмите кнопку "Добавить"
Когда я это сделаю, я получаю окно предупреждения, отображаемое на второй вкладке, и во втором окне, но не на вкладке, вызвавшей событие (я нажал). Насколько я понимаю, я должен увидеть три окна предупреждений (по одному на каждую открытую вкладку).
Это ошибка? Кто-нибудь еще получает такое поведение? Если вы не используете какую-либо версию? Или я просто понял, что все это совершенно неправильно?