Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с фокусом окна, помогите срочно 
:(
    Опции темы
Altar
Дата 7.2.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2005

Репутация: нет
Всего: нет



Код

var popUpWin=0;
function popUpWindow(left, top, width, height) {    
 if (popUpWin && !popUpWin.closed){popUpWin.focus(); popUpWin.location = "ping.php";return;}
 popUpWin = open ('ping.php', 'popUpWin', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbar=no, resizable=no, copyhistory=yes, width=805, height=605, left='+left+', top='+top+', screenX='+left+', screenY='+top+'');
}

Данный код призван передать фокус окну при нажатии по ссылке. Содержание этого окна обновляется, в зависимости от нажатой ссылки. Если окно закрыто, то оно открывается заново.
Но вот в Opere, всё работает пока не закрыть popUpWin. после чего оно вновь не открывается
smile Чего можно сделать????????? в IE всё как надо.
PM MAIL   Вверх
smartov
Дата 7.2.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Цитата(Altar @ 7.2.2006, 08:36 Найти цитируемый пост)

Opere

Их было много. Некоторые до сих пор 6-ю версию юзают. Уточнять надо.
Но вообще проверь где обламывается. (alert-ы тебе дебаггер в Опере)
Мое мнение - может она не понимает window.closed . Оно не описано в стандартах.
Возможно в Опере нужно проверять только if (popupWindow) {.....

Это сообщение отредактировал(а) smartov - 7.2.2006, 12:15
PM MAIL   Вверх
Altar
Дата 7.2.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2005

Репутация: нет
Всего: нет



Version 8.01
Build 7583
Platform Win32

Если в этом дело, то как нужно именно для Opera прописывать?
PM MAIL   Вверх
smartov
Дата 7.2.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Altar Прости. Опера у меня не установлена. А качать, устанавлива и тестить прямо сейчас времени нет. Может чуть поздже.

Ты сам попробуй покопай.
Цитата(smartov @ 7.2.2006, 11:10 Найти цитируемый пост)
проверь где обламывается.

+ я тебе написал. Ты проверил так?
Цитата(smartov @ 7.2.2006, 11:10 Найти цитируемый пост)

Возможно в Опере нужно проверять только
Код
if (popupWindow) {popUpWin.focus().....


А она вообще окно открывает? Хоть в первый раз?
PM MAIL   Вверх
Altar
Дата 7.2.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2005

Репутация: нет
Всего: нет



В первый раз ДА(открывается). И после перезагрузки тоже, но стоит его закрыть и ВСЁ... smile
Код

if (popupWindow) ...

Такая проверка дала тот же результат. Причём в строке адреса происходит какое-то безмолвное мерцание.
Создаётся впечатление, что условие Opera понимает, но пытается сделать загрузку в уже
закрытом окне почему-то.

Собственно, это всё замышлялось для IE и NetScape который с
радостью наплодит ещё кучу дополнительных окон, если ему не запретить.
Opera пректасно работает с одной строчкой без условия:
Код

popUpWin = open ('ping.php', 'popUpWin', 'toolbar=no, location=no...)


Может в условие добавить пункт "не для Оперы".
Ведь есть же случаи когда для IE прописывают одну ветвь, а для NetScape другую.
Только я не знаю как это сделать. smile
PM MAIL   Вверх
12345c
Дата 7.2.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Opera 7.54 - работает после закрывания окна.

Проверь пошагово, на каком операторе срывается (ставишь alert(0); последовательно между).


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Altar
Дата 7.2.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2005

Репутация: нет
Всего: нет



smile Вот: если закрыть второстепенное окно popUpWindow, то Опера
дальше оператора popUpWin.focus(); не двигается, хотя в этой ветви при закрытом окне ей делать нечего.
PM MAIL   Вверх
smartov
Дата 7.2.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Altar
Цитата(Altar @ 7.2.2006, 13:54 Найти цитируемый пост)

Opera пректасно работает с одной строчкой без условия:

Так поставь просто проверку на useragent-a и для оперы кидай тот код, с которым она срабатывает.
PM MAIL   Вверх
Altar
Дата 7.2.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2005

Репутация: нет
Всего: нет



Как сделать просто проверку на useragent-a? smile
PM MAIL   Вверх
12345c
Дата 7.2.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



alert(navigator.userAgent) , но лучше alert(window.opera)
Получается, что не срабатывает !popUpWin.closed . Странно, не должно, но раз не срабатывает, попробуйте в случае Оперы 8.01 (parseInt(navigator.appVersion)==8.01) явно прописать при закрытии окна popUpWin в главном окне: popUpWin.closed=true; . Выглядит как баг.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0751 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.