2015-10-13 5 views
1

В скрипке ниже, window.focus(); кажется, ничего не делает. есть идеи?window.focus() не работает для родительского окна

Например:

childwindow.focus(); 
window.focus(); 

Когда приведенный выше код запускается, childwindow держит в центре внимания, как я могу получить фокус, чтобы вернуться к родительскому окну?

https://jsfiddle.net/51bc33kr/9/

+0

этот усусально отключен в браузерах, иначе каждая открытая веб-страница будет иметь возможность украсть фокус из активного окна. –

+0

Я знаю, это для внутреннего веб-приложения. –

ответ

1

Вы не открыли родительское окно, так что вы не можете контролировать. На самом деле нечего сказать честно. Только после того, как вы откроете его, вы сможете его контролировать. Опция может состоять в том, чтобы открыть 3 окна, оставить оригинал один и иметь новое родительское окно.

Смотрите эту обновленную скрипку ->

http://jsfiddle.net/51bc33kr/12/

$("#openwindows").click(function() { 
    google = window.open("https://www.google.com", ""); 
    yahoo = window.open("https://www.yahoo.com", ""); 
    parent = window.open("about:blank", ""); 
}); 

$("#focusYahoo").click(function() { 
    google.focus(); 
    yahoo.focus(); 
}); 

$("#focusGoogle").click(function() { 
    yahoo.focus(); 
    google.focus(); 
}); 

$("#focusHome").click(function() { 
    google.focus(); 
    parent.focus(); 
}); 

Примечание: Для того, чтобы добавить мой ответ выше. Только мысль. Я вижу тип действий, которые вы хотите выполнить, и если это внутренне, как для компании, я настоятельно рекомендую расширение браузера. Они легки (и FUN!), Чтобы сделать, и дать вам контроль, который вы хотите.

+0

Я полагаю, что это имеет смысл, и, возможно, расширение браузера - это правильный путь. Тем не менее, разве это не кажется ошибочным, что я могу открыть новые окна и контролировать свой фокус, но я не могу контролировать фокус исходного окна? Хорошо, спасибо, что сообщили мне об ограничениях. –

+0

В любое время почка. Имейте в виду, что это настроено таким образом, чтобы веб-сайты не могли навязать вам вас. При создании внутреннего приложения это отстой. Я столкнулся с множеством подобных случаев. Иногда Chrome делает флагов для вещей, чтобы раздражать вас меньше (например, флаг хрома, чтобы игнорировать предупреждения SSL на локальных сайтах), но не часто. – Jesse

+0

Вы не можете открыть несколько окон одним щелчком мыши (больше, по крайней мере). –

Смежные вопросы