событие storage
Привет.
Почему не срабатывает код window.addEventListener('storage', storageEventHandler(e), false); function storageEventHandler(e){ alert("storage event called key: " + e.key ); } //sessionStorage.setItem("someKey", "someValue"); sessionStorage['name1']='holi'; |
потому что скобки вызвают функцию, и в addEventListener передаётся результат её выполнения - undefined.
window.addEventListener('storage', *!*storageEventHandler(e)*/!*, false); function storageEventHandler(e){ alert("storage event called key: " + e.key ); } //sessionStorage.setItem("someKey", "someValue"); sessionStorage['name1']='holi'; |
window.addEventListener('storage', storageEventHandler, false); function storageEventHandler(){ alert("storage event called key: " ); } sessionStorage.setItem("someKey", "someValue"); sessionStorage['name1']='holi'; Не срабатывает |
|
По моему onstorage работает только при изменении дочернего окна./фрейма а на изменение на своей странице не реагирует
http://all-html5.narod.ru/2/vrem1.htm |
ах*****ьная новость.И что теперь делать?Мне нужно сообщение с выводом что такае-то значение сменилось на ...
|
Я точно не знаю-проверь ее во первых-но по примеру моему так получается
|
пожалуйста пример.:) iMaxmaxmaximus
Дай урок :) |
Чтото наподобии вот такого
function setStorage(a,v) {sessionStorage[a]=v;storageEventHandler(a)}; function storageEventHandler(a){ alert("storage event called key: " )+a;} setStorage("someKey", "someValue"); |
Цитата:
bot87, в чем сложность сделать обертку? function sessStorage( key, value ) { var currentValue = sessionStorage.getItem( key ); if ( typeof value !== "undefined" && currentValue !== value ) { sessionStorage.setItem( key, value ); if ( !( window.eval && eval("/*@cc_on 1;@*/") ) ) { var e = document.createEvent( 'StorageEvent' ); e.initStorageEvent( 'storage', false, false, key, currentValue, value, location.href, window.sessionStorage ); window.dispatchEvent( e ); } currentValue = value; } return currentValue; } if ( "addEventListener" in window ) { window.addEventListener('storage', storageEventHandler, false); } else { document.attachEvent('onstorage', storageEventHandler ); } function storageEventHandler(e){ alert("storage event called key: " + e.key ); } sessStorage("name1", "holi122"); Цитата:
|
спасибо Вам!:)
Особенно devote :) |
Цитата:
|
iMaxmaxmaximus выложи пожалуйста.
Рано или поздно может пригодится. |
Цитата:
|
Цитата:
(function(){ var StorageProto = Storage.prototype, setItem = StorageProto.setItem, getItem = StorageProto.getItem; StorageProto.setItem = function() { // тут что-то делаем // ... alert( "хехе" ); // ... // и вызываем нативный метод return setItem.apply( this, arguments ); } StorageProto.getItem = function() { // тут что-то делаем // ... alert( "хаха" ); // ... // и вызываем нативный метод return getItem.apply( this, arguments ); } })(); sessionStorage.setItem( 'test', 'myVal' ); alert( sessionStorage.getItem( 'test' ) ); |
Благодарю Devote
Я думал что если переопределим то нативный способ уже не сможем вызвать |
Цитата:
|
Цитата:
|
Подскажите, пожалуйста, почему в одном и том же месте код:
onclick="localStorage.clear()"отрабатывает нормально, а onclick="localStorage.setItem('test88','name88');"прерывает вывод в браузер, с ошибкой на консоль SyntaxError: missing } after property list А вот так onclick="localStorage.setItem("test88","name88");"не вызывает остановку вывода в браузер, но ошибка также. Честно, очень уже намучался. |
Цитата:
|
Цитата:
Более полно код выглядит так: <?php if (intval(@$gallery['interval'])) echo "slideshow: ".intval(@$gallery['interval']).", "; ?> default_width: 750, default_height: 600, allow_resize: true, social_tools: false, overlay_gallery: false, modal: true, markup: _markup, deeplinking: false, number_url: '<a href="http://quadrosol.ru/fotooboi/" onclick="localStorage.setItem('test844')" target="_self" title="Заказать изображение">%name%</a>', } |
number_url: '<a href="http://quadrosol.ru/fotooboi/" onclick="localStorage.setItem(\'test844\', \'ololo\')" target="_self" title="Заказать изображение">%name%</a>', |
devote,
Огромное спасибо! Про экранирование сам бы еще не скоро догадался. Очень помог! |
Добрый день.
Предлагаем к рассмотрению и тестированию наш проект - Маркетер Плагин. Продвигаем его успешно во всем мире. Но только 27 января 2013 предоставили в Рунете к тестированию русифицированный плагин с русифицированным интерфейсом. Вся подробная информация наhttp://www.marketerplugin.ru/ Предлагаем протестировать наш плагин на только что русифицированном интерфейсеhttp://www.marketerplugin.ru/test_plagina. В двух словах: плагин предназначен для создания сайтов-визиток и страниц продаж. Ждем ваших комментариев, отзывов и критики. Так же будем рады видеть вас на наших страницах в соц сетях http://www.facebook.com/pages/Marketer-plugin/5288148.. http://vk.com/club46912629 Успехов и новых впечатлений. С уважением, Богдан |
Цитата:
Сразу возникли несколько вопросов. Установили мы значение sessStorage("name1", "holi122"); как теперь отчистить его ? Как задать конкретный домен для установки значения sessStorage("name1", "holi122"); ? Я смотрю что для IE устанавливается полностью на весь компьютер, а не на конкретное место. А для FF устанавливается значение на конкретный путь. Как сделать так чтобы значение устанавливалось не конкретно на путь в сайте, а на весь компьютер ? P.S. Сорри за туфтографию, просто ещё не вник во все нюансы этого метода. |
Часовой пояс GMT +3, время: 21:52. |