Как перенести уже существующее открытое окно впереди других окон из другого кода Windows? - PullRequest
3 голосов
/ 27 марта 2010

Вопрос был довольно описательным, но я опишу его дальше.

В основном, у меня есть window1. При нажатии на ссылку кнопки открывается window2. Нажатие кнопки в window2 открывает window3, нажатие кнопки в window3 должно вернуть window2 в начало экрана в верхней части window2.

Я не уверен, как именно это сделать, однако я использовал и играл с помощью focus (), открывателя и других различных методов, и я не могу заставить его работать должным образом.

Ответы [ 2 ]

1 голос
/ 24 апреля 2010

Обновление : это не работает с Chrome (21+). Обходной путь должен закрыть / открыть.

Следующий код работает для меня в Firefox (Mac & Windows), Safari (Mac & Windows) и IE8 (Windows, конечно). Я не тестировал IE6 или IE7.

Тем не менее, не работает на Chrome для Mac или Windows. В частности, нажатие на кнопку один раз создает всплывающее окно и выводит его на передний план. Однако возврат к исходному окну и повторное нажатие кнопки не переориентирует всплывающее окно.

<head>
  <script type="text/javascript">
    var popupWindow = null;
    var doPopup = function () {
      if (popupWindow && !popupWindow.closed) {
        popupWindow.focus();
      } else {
        popupWindow = window.open("http://google.com", "_blank",
          "width=200,height=200");
      }
    };
  </script>
</head>

<body>
  <button onclick="doPopup(); return false">
    create a pop-up
  </button>
</body>
1 голос
/ 27 марта 2010

Обновление : это не работает с Chrome (21+). Обходной путь должен закрыть / открыть.

opener.focus()

работает. Если это не для вас, нам понадобится контрольный пример.

Некоторые вещи, которые могут вызвать проблемы: вызов его в обработчике событий, который запускает до , окно кнопки получает фокус из-за щелчка (но я не думаю, что это обычно имеет место); запуск его в браузере, который вместо этого вставляет всплывающие окна во вкладки браузера.

(Я согласен с комментарием Макса. Как правило, лучше избегать всплывающих окон с использованием сценариев с несколькими окнами.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...