window.focus не работает в IE

В Firefox 3, когда я открываю новое окно (или вкладку) с помощью window.open, новое окно имеет фокус, чего я и хочу.

В IE старое окно по какой-то причине все еще имеет фокус, поэтому я исследовал проблему, с которой мой код window.open делает это сейчас.

  var w = window.open("Sheet.aspx", "_blank");
  w.focus();

К сожалению, это не работает для меня в IE 7. Старое окно все еще имеет фокус. Что мне здесь не хватает?

У меня IE настроен на открытие новых страниц во вкладке, а не на новой странице, и я разрешил всплывающие окна для домена, на котором находится мой сайт.

Я вижу индикатор выполнения IE на второй вкладке, но он никогда не переключается на него.


person Tony Peterson    schedule 03.06.2009    source источник


Ответы (1)


У меня есть почти такой же код в одном из моих веб-приложений, который отлично работает в IE7. Будет ли это работать, если вы отключите блокировку всплывающих окон? Установлены ли у вас какие-либо расширения/панели инструментов, которые блокируют всплывающие окна, и можете ли вы попробовать их отключить?

--редактировать:

Мой код отличается от вашего, так как он задает ширину и высоту для окна, поэтому оно открывается как всплывающее окно, но если я установлю IE на «Всегда открывать всплывающие окна в новой вкладке», он все равно фокусируется на окне для меня, но у меня блокировка всплывающих окон полностью отключена. Я все еще думаю, что наиболее вероятным источником вашей проблемы является блокировщик всплывающих окон или надстройка.

person robertc    schedule 03.06.2009
comment
Я нашел свое решение. Мне нужно было установить флажок Всегда переключаться на новые вкладки при их создании в параметрах вкладок IE 7. - person Tony Peterson; 03.06.2009
comment
Обратите внимание, что у меня не отмечена эта опция, и она все еще работала для меня с вызовом win.focus(), если вы довольны :) - person robertc; 03.06.2009