Я хотел бы иметь кнопку на веб-странице со следующим поведением:
Ниже кода работает в Firefox (Mac & Windows), Safari (Mac & Windows) и IE8. (Я еще не протестировал IE6 или IE7.) Однако в Google Chrome (обе Mac & Windows) более поздним щелчкам не удается выявить существующее всплывающее окно, как желаемый.
Как я могу сделать эту работу в Chrome?
Фон: Я повторно спрашиваю этот вопрос специально для Google Chrome, поскольку я думаю я, мой код решает проблему, по крайней мере, для других современных браузеров и IE8. Если существует предпочтительный этикет для того, чтобы сделать так, сообщите мне.
Вы не можете. Window.focus отключен в Chrome по соображениям безопасности, и вряд ли это изменится.
Вы должны закрыть и снова открыть соответствующее окно.
Почему бы просто не выполнить popopWindow.focus () после вызова window.open? Это не повредит сделать это и там, и это должно гарантировать, что ваше новое окно отображается поверх текущего.
Вам необходимо установить исходное окно для размытия, а для нового окна - для фокусировки.
var popup = { //popup = object literal representing your popup
execute = (function () {
popup.win = window.open();
popup.win.focus();
}());
};
window.blur();