2015-11-05 2 views
-1

Я думаю, это может быть дублированный вопрос, но существующие ответы не помогли.Window.focus() не работает в IE

Итак, у меня есть ниже функции, которые я зарегистрированную OnClick звена:

function open_new() 
{ 
if (win===null) 
{ 
win=window.open("url","_blank"); 
} 
else{ 
win.location.href="url"; 
win.focus();} 
} 

Dont беспокоиться о логике. Говоря простыми словами, если пользователь впервые нажимает на ссылку в родительском окне, он откроет url в новом окне, скажем, окно 2.

Теперь проблема возникает -> Я возвращаюсь в родительское окно и снова я нажимаю на эту ссылку. Он устанавливает href окна 2, перезагружает его, но не фокусируется. Он все равно останется в родительском окне.

Примечание: Это прекрасно работает в хромированном состоянии.

ответ

0

IE8 не позволяет эту функцию из-за проблем безопасности

Проверить эту статью

https://support.microsoft.com/en-us/kb/979954

+0

Так что, я думаю, что такое же поведение сохраняется в IE9,10,11 . Потому что ни в одном из них он не работает. Есть ли обходное решение ??? –

0

Да, действительно, это, кажется, не работает в IE. Было бы проблемой снова открыть окно в IE? Вы можете сделать проверку браузера, чтобы сделать это только в IE или всегда.

function isIE() /* taken from http://stackoverflow.com/a/20881274/265165 */ 
{ 
    var isIE11 = navigator.userAgent.indexOf(".NET CLR") > -1;  
    var isIE11orLess = isIE11 || navigator.appVersion.indexOf("MSIE") != -1; 
    return isIE11orLess; 
} 

var win; 
function openWindow() { 
    if (win == null) { 
     win = window.open("url", "_blank"); 
    } 
    else if (isIE()) { 
     win.close(); 
     win = window.open("url", "_blank"); 
    } 
    else { 
     win.location.href = "url"; 
     win.focus(); 
    } 
); 
Смежные вопросы