>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >window.openDialog() как проверить что окно уже открыто? http://forum.mozilla-russia.org/viewtopic.php?id=52382 |
xterro > 13-11-2011 10:38:04 |
Доброго времени суток. Есть такой момент, нажимаю на кнопку, по ней делаю открытие своего окна(xul файл) через window.openDialog(...). Допустим, я второй раз нажимаю на кнопку, как мне проверить что окно уже открыто? (я хочу, если оно уже открыто, то просто добавить в него вкладку). Думал передавать в openDialog() последним параметром логическую переменную, и повешать на окнообработчик onload,в котором устанавливать её в true, и эту же переменную проверять при нажатии на кнопку, мол если она true то окно не открываем, а работаем с текущим? Только вот ещё один момент, что будет являться текущим то? Или к открытому окну можно как-то обращаться по идентификатору(или имени, оно передаётся вторым параметром в openDialog())? |
xterro > 13-11-2011 11:46:09 |
okkamas_knife пишет
Спасибо за ссылку, по ней понял некоторую мысль - похоже можно использовать nsIWindowWatcher. При первоначальном создании окна задачать ему какое-нибдуь имя, и при следующем нажатии кнопки поискать окно по этому имени, если нашлось, то добавляем вкладку, если нет, то создаём новое |
hydrolizer > 13-11-2011 11:58:20 |
xterro |
xterro > 13-11-2011 12:15:51 |
hydrolizer пишет
Благодарю, оказывается всё просто, как всегда |
Infocatcher > 14-11-2011 00:43:19 |
hydrolizer пишет
Причем это «где-нибудь» должн быть глобальным для всех окон, а то пользователь из другого окна сможет открыть еще одно. |
hydrolizer > 14-11-2011 03:40:33 |
Infocatcher пишет
Разумеется. Например, поле объекта, созданного в jsm-модуле - контекст BackstagePass как раз глобален для всех окон, в отличие от контекста ChromeWindow. |
xterro > 14-11-2011 14:17:16 |
hydrolizer пишет
У меня эта переменная определена в самом начале js -файла. Окно одно, так что думаю проблем не возникнет |
hydrolizer > 14-11-2011 14:36:25 |
xterro пишет
|