У меня есть две страницы one.html и two.html
Я открываю новое окно использующий следующий код
//here popup is a global variable
popup=window.open('two.html','two');
впервые всплывающее окно открывается успешно и получает фокус, но если я пытаюсь открыть его снова, уже не закрыв открытое всплывающее окно затем, two.html не получает фокус для второго раза.
примечание: Я определил имя всплывающего окна как 'два'
вы можете добиться этого, используя функцию focus
, как показано ниже
<script language="javascript" type="text/javascript">
<!--
function popitup(url) {
newwindow=window.open(url,'name','height=200,width=150');
if (window.focus) {newwindow.focus()}
if (!newwindow.closed) {newwindow.focus()}
return false;
}
// -->
</script>
Вы можете закрыть всплывающее окно, прежде чем открывать его, если вы проверите, открыто ли всплывающее окно, когда вы вызываете функцию.
var popup;
function openPop() {
if ("close" in popup) popup.close();
popup = window.open("http://stackoverflow.com", "test", "width=200, height=200");
}
Это гарантирует, что всплывающее окно всегда будет отображаться вверху.
focusedWindow = window.open('two.html','two').focus();
Непосредственно добавить focus () к window.open protoype
Проверьте настройки Firefox 2 по адресу
Если параметр «Поднять или опустить окна» выключен, то это отключает метод window.focus ().
var win = window.open('two.html','two');
win.document.getElementsByTagName("body")[0].focus(); //focus the body rather than the window.