запомнить окно
Цель такая, сраницу открыли в определённом окне, полазили по другим страницам сайта, если окно то же - true, если лазят в другой вкладке - false. Например пользователь настроил интерфейс сайта, и нужно, чтобы это распрастранялось только на данную вкладку браузера. Может я не понимаю каких-то простых вещей, но всё же, как «пометить» окно?
|
нихрена не ясно.
отслеживать событие фокуса окна |
Вообще мне это для user javascript надо, на компе в Опере можно запускать скрипты для отдельного окна, в Опера Мобаил - нет. Суть в чём: пользователь для запуска скрипта вводит в адрнсную строку javascript:myJS.имяСкрипта(); Запускается скрипт, который запоминает, что он запущен, с помощью куки и local.storage, пользователь лазит по другим страницам, скрипт включен, всё ок, только нужно ограничить его действия в одной вкладке, тоесть скрипт работает только в той вкладке, где его запустили.
|
( function(){ try{ //функция вкл-выкл function trololo(t){ t?myJS.setCookie("trololo",1,{path:"/"}):myJS.setCookie("trololo",null,{expires:-1,path:"/"}); //в зависимости от параметра сохранить куку или удалить myJS.trololoGo(); } function trololoGo(){ //сам скрипт var war=myJS.getCookie("trololo"); //считали куки if(war){ //если установлены, выполнить /* тело скрипта */ }} window.myJS=window.myJS||{}; window.myJS.trololo=trololo; window.myJS.trololoGo=trololoGo; //перенесли в глобал myJS.onReady(myJS.trololoGo); //запустили при загрузке DOM }catch(e){alert("trololo.js:\n"+e)} })(); Функции для работы с куки и onReady, лежат в др. файлах, думаю их действие объяснять не надо. Скрипт упросил значительно, оставил только структуру. Скрипт будет работать во всех вкладках, а нужно только в той, в которой запустили. Как это сделать? |
С какой стати он будет работать во всех вкладках, если у каждой вкладки свой объект window? :blink: Или я чего-то не понимаю?
|
в консоль
window.name = "just fine"; далее, проверяем. там же : alert(window.name); //just fine. откройте ещё вкладку и проверьте window.name в ней. будет "" (пустая строка) теперь в "помеченной" вкладке потыкайте на ссылки. напр, новые сообщения. далее опять проверьте имя окна : alert(window.name); //just fine. таким образом можно запомнить окно. |
И я про то же.
Кстати, trololo() и war - это сильно :lol: Хотя, ИМХО лучше чем var var |
popov654,
это user js, запуск висит на onReady, будет работать во всех окнах |
melky,
гавнокод, потому что код упрощал, впадлу было имена придумывать |
Цитата:
|
Часовой пояс GMT +3, время: 23:07. |