Показать сообщение отдельно
  #1 (permalink)  
Старый 26.08.2012, 21:01
Интересующийся
Отправить личное сообщение для assan Посмотреть профиль Найти все сообщения от assan
 
Регистрация: 13.07.2010
Сообщений: 27

использование 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>

Последний раз редактировалось assan, 26.08.2012 в 21:45.
Ответить с цитированием