Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Автофокус окна в IE
 
 автор: Drago   (22.04.2007 в 01:45)   письмо автору
 
 

Окно чата в IE, при обновлении списка пользователей, забирает на себя фокус и становится активным, если до этого, активным было другое окно IE.

Чат работает на AJAX (JsHttpRequest). Данные полученные от сервера, обрабатываются JS функцией, которая с помощью innerHTML помещает их в див.

Собственно, что может влиять на то, что IE делает окно чата активным и как этому препятствовать?

   
 
 автор: CNT   (22.04.2007 в 03:42)   письмо автору
 
   для: Drago   (22.04.2007 в 01:45)
 

У MSIE нормальная такая логика - именно к тому окну, где в данный момент происходят изменения контента, необходимо привлечь взор клиента (а иначе - зачем вообще изменения, если клиент на них внимания не обратит?)

В JS-функции, обрабатывающей данные сервера, самой первой строкой пропишите window.blur ();

   
 
 автор: 12345   (22.04.2007 в 03:47)   письмо автору
 
   для: CNT   (22.04.2007 в 03:42)
 

Не поможет - в панели задач всё равно будет мигать выделение (я так думаю).
На фокус и мигание влияет приём данных (окончание). Фокус блюром убрать удастся, но вот мигание?

   
 
 автор: bronenos   (22.04.2007 в 07:15)   письмо автору
 
   для: 12345   (22.04.2007 в 03:47)
 

у меня наоборот проблема
как заставить мигать свернутое окно но при этом не раскрывать его?

   
 
 автор: Drago   (22.04.2007 в 12:20)   письмо автору
 
   для: CNT   (22.04.2007 в 03:42)
 

Получился такой эффект:
Если активно окно чата, то при обновлении списка, оно сворачивается, но фокус не теряет.
Если активно другое окно IE, то при обновлении в чате, фокус прыгает на окно чата, которое сворачивается и вновь не теряет фокус. То есть, на панели задач оно выделено как активное, а на самом деле, оно свернуто.

Что можно еще сделать, чтобы окно чата, не перехватывало фокус?

   
 
 автор: CNT   (22.04.2007 в 15:35)   письмо автору
 
   для: Drago   (22.04.2007 в 12:20)
 

1. Перехватывать фокус окно все равно будет - это неизбежно.
2. Как далее распорядиться этим фокусом (активностью окна) - это уже ваш выбор. Посмотрите на MSDN событие onfocus - http://msdn2.microsoft.com/en-us/library/ms536934.aspx (и там же - события onblur, onfocusin, onfocusout, onbeforedeactivate, ondeactivate, onbeforeactivate, onactivate и выберите из них то, что вам более подходит).

   
 
 автор: Drago   (22.04.2007 в 16:59)   письмо автору
 
   для: CNT   (22.04.2007 в 15:35)
 

Понятно. Спасибо, будем думать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования