Мне нужно открыть новое окно в фоновом режиме с помощью JavaScript и убедиться, что оригинал все еще сфокусирован

У меня есть окно, которое открывается с помощью функции Javascript:

function newwindow() 
{ 
window.open('link.html','','width=,height=,resizable=no'); 
}

Мне нужно, чтобы после открытия нового окна фокус вернется в исходное окно. Как я могу это сделать? И где я помещаю код - в новое окно или в старое? Спасибо!

Ответ 1

Это называется "pop-under" (и, как правило, на него нахмурился... но я отвлекся). Он должен дать вам много информации о

Вероятно, вы хотите сделать что-то вроде:

var popup = window.open(...);
popup.blur();
window.focus();

Который должен установить фокус обратно в исходное окно (непроверенный - ущемленный из google). Некоторые браузеры могут блокировать эту технику.

Ответ 2

После вызова window.open вы можете попытаться использовать

window.resizeTo(0,0); 
window.moveTo(0,window.screen.availHeight+10);

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

Ответ 3

Вы можете использовать либо "размытие" или "фокус" для выполнения необходимых действий.

"Размытие"

function newwindow()  
{  
    var myChild= window.open('link.html','','width=,height=,resizable=no');  
    myChild.blur();
} 

"фокус"

function newwindow()  
{  
    window.open('link.html','','width=,height=,resizable=no');  
    window.focus();
} 

Поместите код в свой родительский указатель (т.е. окно, в котором вы сейчас находитесь)

Оба будут работать.

Ответ 4

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

window.open('link.html','','width=,height=,resizable=no');  
window.open().close();

Однако, я считаю, будет ли второе окно открываться на вкладке или новое окно зависит от настроек вашего браузера.

Пожалуйста, не используйте "pop-unders" для зла.