запомнить окно
Цель такая, сраницу открыли в определённом окне, полазили по другим страницам сайта, если окно то же - 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, время: 18:45. |