Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2014, 08:02
Новичок на форуме
Отправить личное сообщение для jozev Посмотреть профиль Найти все сообщения от jozev
 
Регистрация: 01.08.2011
Сообщений: 4

Видимость переменных (снова)
Функция doOpen() открывает новое окно и заносит идентификатор этого окна в глобальную переменную win.
Функция doClose берёт этот идентификатор окна и закрывает его.
Но почему-то не работает, пишет "win is undefined", функция doClose() не видит переменную win...
Что не так понимаю? Как решить?
<a href="" onclick="doOpen('http://yandex.ru', 'namewin', 'width=300, height=200')">Window Open</a><br>
<a href="" onclick="doClose()">Window Close</a>

var win; // global var

function doOpen(url,name,properties)
{
    win = open(url,name,properties);
}

function doClose()
{
    win.close();
}
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2014, 08:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Потому что ты переходишь по ссылке. Атрибут href="" создает ссылку на текущую страницу. Не пиши атрибут вообще. Или используй псевдо-протокол javascript:
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 09.03.2014, 09:41
Новичок на форуме
Отправить личное сообщение для jozev Посмотреть профиль Найти все сообщения от jozev
 
Регистрация: 01.08.2011
Сообщений: 4

Аха, ясно, спасибо. То есть можно сделать тремя вариантами:
1. <a onclick="doClose()">Window Close</a><br>
2. <a href="#" onclick="doClose()">Window Close</a><br>
3. <a href="javascript:doClose()">Window Close</a>

Верно?
Ответить с цитированием
  #4 (permalink)  
Старый 09.03.2014, 09:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Лучше всего <button onclick="doClose()">Close Window</button>
Если пишешь href (даже если #), то клик надо отменять: onclick="return doClose(), false"
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 09.03.2014, 10:17
Новичок на форуме
Отправить личное сообщение для jozev Посмотреть профиль Найти все сообщения от jozev
 
Регистрация: 01.08.2011
Сообщений: 4

Ясно, спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
видимость переменных Fedya jQuery 3 31.10.2013 23:38
Видимость переменных в классе Л_Денис Общие вопросы Javascript 1 15.04.2010 12:37
Модуль и видимость переменных bobroff jQuery 2 04.12.2009 12:58
Видимость переменных в jQuery Zeboton jQuery 9 10.03.2009 18:28
Видимость переменных HelpeR Общие вопросы Javascript 6 21.02.2009 21:29