IE8: Как установить фокус на всплывающее окно и обратно, не мигая оранжевым - PullRequest
2 голосов
/ 13 января 2012

Есть два окна: родительское окно и дочернее окно.Родитель может сфокусировать ребенка с помощью ярлыка, а ребенок может вернуть фокус с помощью ярлыка.

У меня есть тестовый веб-сайт здесь .Просто откройте веб-сайт в новом окне браузера и попробуйте в IE8.Это работает как и ожидалось:

  1. Нажмите на родительское окно и нажмите f: ребенок получает фокус
  2. Нажмите на дочернее окно и нажмите esc: родительполучает фокус

Но это не работает, если вы комбинируете 1 и 2:

  • Нажмите на родительское окно и нажмите f: ребенок получает фокус.Теперь нажмите esc: родитель начинает мигать, но не выходит вперед!

Я пробовал много разных подходов, но я просто не могу добиться стабильности, не мигая.Похоже, если окно получает фокус с помощью ярлыка, то вы не можете вернуть фокус без мигания.

Проблема существует только в IE8!Отлично работает в IE9.

Кто-нибудь знает обходной путь или какое-либо решение для этого?

Ответы [ 2 ]

0 голосов
/ 04 октября 2012

Это похоже на проблему с IE 8 и Windows XP.Microsoft говорит, что они исправили это, но пока они выпустили два "исправления", и проблема все еще существует.

http://support.microsoft.com/kb/979954

http://support.microsoft.com/kb/973528

0 голосов
/ 01 февраля 2012

Вы пробовали это?

window.blur();
window.opener.focus();
...