Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   событие storage (https://javascript.ru/forum/misc/32691-sobytie-storage.html)

bot87 25.10.2012 22:01

спасибо Вам!:)
Особенно devote :)

devote 26.10.2012 00:05

Цитата:

Сообщение от iMaxmaxmaximus
то учим методы сторча генерировать со бытие.

зачем их учить? если ты что-то переопределяешь, то это должно быть весомо. Переопределять можно и нужно тока если ты расширяешь функционал браузера до того уровня что описан в спецификации. А ломать и идти на перекор документации, это плохой тон.

bot87 26.10.2012 01:12

iMaxmaxmaximus выложи пожалуйста.
Рано или поздно может пригодится.

vadim5june 26.10.2012 08:51

Цитата:

Сообщение от devote
если ты что-то переопределяешь, то это должно быть весомо

Я что то вообще не представляю как можно переопределить нативные методы sesionStorage.setItem и ..getItem чтобы они после переопределения выполняли функции storage

devote 26.10.2012 09:34

Цитата:

Сообщение от vadim5june
Я что то вообще не представляю как можно переопределить нативные методы sesionStorage.setItem и ..getItem чтобы они после переопределения выполняли функции storage

все как обычно, ничего заумного нет:
(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' ) );

vadim5june 26.10.2012 12:31

Благодарю Devote
Я думал что если переопределим то нативный способ уже не сможем вызвать

devote 26.10.2012 16:43

Цитата:

Сообщение от iMaxmaxmaximus
то ест генерирование события сторчем этого нет в спецификации?

в активном окне (то-есть локальном) нет. В другие окна конечно же событие работает и ничего переделывать не нужно.

vadim5june 26.10.2012 18:10

Цитата:

Сообщение от iMaxmaxmaximus
хранятся именно ссылки на нативные методы. мы сохраняем их в переменные а потом их используем

Cпасибо!

DiDae 01.02.2013 23:22

Подскажите, пожалуйста, почему в одном и том же месте код:
onclick="localStorage.clear()"
отрабатывает нормально, а
onclick="localStorage.setItem('test88','name88');"
прерывает вывод в браузер, с ошибкой на консоль SyntaxError: missing } after property list

А вот так
onclick="localStorage.setItem("test88","name88");"
не вызывает остановку вывода в браузер, но ошибка также. Честно, очень уже намучался.

danik.js 02.02.2013 01:02

Цитата:

Сообщение от DiDae
А вот так
onclick="localStorage.setItem("test88","name88");"

А вот так даже подсветка сломалась :)


Часовой пояс GMT +3, время: 23:56.