Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   использование localStorage (https://javascript.ru/forum/events/31088-ispolzovanie-localstorage.html)

assan 26.08.2012 21:01

использование localStorage
 
может кому пригодится использование localstorage.
применимо для frame, iframe, при работе с несколькими вкладками. проверено на FF.
если "слушатели" запущены на нескольких (к примеру ifame) , будут обработаны во всех.
не требуется проверять загружен ли iframe.
можно обойтись и if-ами, но так более как-то...



<script>
            $(document).ready(function(){
инициализация, чтоб при первом присвоении событие срабатывало
                if (localStorage.idn==null) localStorage.idn=0;
                if (localStorage.picdel==null) localStorage.picdel='';
                if (localStorage.picadd==null) localStorage.picadd='';
                if (localStorage.comment==null) localStorage.comment='';
                if (localStorage.groupId==null) localStorage.groupId='';
назначение "слушателя"
                window.addEventListener("storage", storageHandler, false);
            }
        )

            function storageHandler(event) {
                ls(event.key,event.newValue); - тут передается только новое значение, но можно и старое и новое
            }


            function ls(f,d){
                try {                      - необходимо, если не использовать "заглушки"
                    lsf[f](d);
                }catch (er)
                {alert(er + ' >>> ' +f);}   -на время отладки, чтоб не пропустить что-нить.., 
            }

            lsf={
                picdel:function(d){
                    обработка
                },
                picadd:function(p){
                    обработка                },
                comment:function(p){
                    обработка                    }
                },groupId:function(p){}    - заглушка
                ,idn:function(p){}            - заглушка
                
            }
</script>


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