Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Проблема с фокусом окна |
Автор: Altar 7.2.2006, 09:36 | ||
Данный код призван передать фокус окну при нажатии по ссылке. Содержание этого окна обновляется, в зависимости от нажатой ссылки. Если окно закрыто, то оно открывается заново. Но вот в Opere, всё работает пока не закрыть popUpWin. после чего оно вновь не открывается ![]() |
Автор: smartov 7.2.2006, 12:10 |
Их было много. Некоторые до сих пор 6-ю версию юзают. Уточнять надо. Но вообще проверь где обламывается. (alert-ы тебе дебаггер в Опере) Мое мнение - может она не понимает window.closed . Оно не описано в стандартах. Возможно в Опере нужно проверять только if (popupWindow) {..... |
Автор: Altar 7.2.2006, 12:19 |
Version 8.01 Build 7583 Platform Win32 Если в этом дело, то как нужно именно для Opera прописывать? |
Автор: Altar 7.2.2006, 14:54 | ||||
В первый раз ДА(открывается). И после перезагрузки тоже, но стоит его закрыть и ВСЁ... ![]()
Такая проверка дала тот же результат. Причём в строке адреса происходит какое-то безмолвное мерцание. Создаётся впечатление, что условие Opera понимает, но пытается сделать загрузку в уже закрытом окне почему-то. Собственно, это всё замышлялось для IE и NetScape который с радостью наплодит ещё кучу дополнительных окон, если ему не запретить. Opera пректасно работает с одной строчкой без условия:
Может в условие добавить пункт "не для Оперы". Ведь есть же случаи когда для IE прописывают одну ветвь, а для NetScape другую. Только я не знаю как это сделать. ![]() |
Автор: 12345c 7.2.2006, 15:38 |
Opera 7.54 - работает после закрывания окна. Проверь пошагово, на каком операторе срывается (ставишь alert(0); последовательно между). |
Автор: Altar 7.2.2006, 16:30 |
![]() дальше оператора popUpWin.focus(); не двигается, хотя в этой ветви при закрытом окне ей делать нечего. |
Автор: smartov 7.2.2006, 18:11 |
Altar Так поставь просто проверку на useragent-a и для оперы кидай тот код, с которым она срабатывает. |
Автор: Altar 7.2.2006, 18:17 |
Как сделать просто проверку на useragent-a? ![]() |
Автор: 12345c 7.2.2006, 19:05 |
alert(navigator.userAgent) , но лучше alert(window.opera) Получается, что не срабатывает !popUpWin.closed . Странно, не должно, но раз не срабатывает, попробуйте в случае Оперы 8.01 (parseInt(navigator.appVersion)==8.01) явно прописать при закрытии окна popUpWin в главном окне: popUpWin.closed=true; . Выглядит как баг. |