Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2012, 11:53
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

запомнить окно
Цель такая, сраницу открыли в определённом окне, полазили по другим страницам сайта, если окно то же - true, если лазят в другой вкладке - false. Например пользователь настроил интерфейс сайта, и нужно, чтобы это распрастранялось только на данную вкладку браузера. Может я не понимаю каких-то простых вещей, но всё же, как «пометить» окно?
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2012, 12:39
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

нихрена не ясно.
отслеживать событие фокуса окна
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2012, 23:32
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

Вообще мне это для user javascript надо, на компе в Опере можно запускать скрипты для отдельного окна, в Опера Мобаил - нет. Суть в чём: пользователь для запуска скрипта вводит в адрнсную строку javascript:myJS.имяСкрипта(); Запускается скрипт, который запоминает, что он запущен, с помощью куки и local.storage, пользователь лазит по другим страницам, скрипт включен, всё ок, только нужно ограничить его действия в одной вкладке, тоесть скрипт работает только в той вкладке, где его запустили.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2012, 23:54
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

(
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, лежат в др. файлах, думаю их действие объяснять не надо. Скрипт упросил значительно, оставил только структуру. Скрипт будет работать во всех вкладках, а нужно только в той, в которой запустили. Как это сделать?
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2012, 00:50
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

С какой стати он будет работать во всех вкладках, если у каждой вкладки свой объект window? Или я чего-то не понимаю?
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2012, 01:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

в консоль
window.name = "just fine";

далее, проверяем. там же :
alert(window.name); //just fine.

откройте ещё вкладку и проверьте window.name в ней. будет "" (пустая строка)

теперь в "помеченной" вкладке потыкайте на ссылки. напр, новые сообщения. далее опять проверьте имя окна :
alert(window.name); //just fine.


таким образом можно запомнить окно.

Последний раз редактировалось melky, 25.01.2012 в 02:20.
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2012, 01:34
Профессор
Отправить личное сообщение для popov654 Посмотреть профиль Найти все сообщения от popov654
 
Регистрация: 22.09.2010
Сообщений: 217

И я про то же.
Кстати, trololo() и war - это сильно
Хотя, ИМХО лучше чем var var

Последний раз редактировалось popov654, 21.01.2012 в 01:37.
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2012, 16:55
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

popov654,
это user js, запуск висит на onReady, будет работать во всех окнах
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2012, 16:58
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

melky,
гавнокод, потому что код упрощал, впадлу было имена придумывать
Ответить с цитированием
  #10 (permalink)  
Старый 25.01.2012, 02:04
Аспирант
Отправить личное сообщение для qwertyuiop10 Посмотреть профиль Найти все сообщения от qwertyuiop10
 
Регистрация: 29.09.2011
Сообщений: 42

Сообщение от melky Посмотреть сообщение
решил задачу другим способом, более трудоёмким и кодоёмким.
Можно подробнее пожалуйста?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диалоговое окно внутри контейнера с overflow:hidden debugx (X)HTML/CSS 1 22.08.2011 13:06
IE6. отдать пользователю файл и закрыть окно Vglaz Internet Explorer 0 23.06.2011 13:55
Как закрыть дочерние окно из родительского при помощи переключателя checkbox?? dieseln Общие вопросы Javascript 4 15.12.2010 16:30
Как закрыть динамичное окно вместе\после родительского? Vilmos Элементы интерфейса 1 16.07.2009 20:54
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09