Мой букмарклет открывает новое окно, если окно уже открыто, я хочу вызвать .focus()

У меня есть букмарклет, который открывает новое окно:

<a href="javascript:void(window.open(
        'http://localhost:8080/myapp/query.jsp?u='+encodeURIComponent(location.href)+'t='+encodeURIComponent(document.title),
        'query','status=0,toolbar=0,location=0,menubar=0,resizable=false,scrollbars=false,height=600,width=410'
        ));query.focus();">MyApp</a>

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

Но если окно уже было открыто, и я нажимаю букмарклет, я хочу, чтобы существующее окно было в фокусе и чтобы новые данные, которые были отправлены, обрабатывались (если страница отличается).

Вы можете видеть, что я пытался сделать это с помощью query.focus();, но это, похоже, не работает.


person Ankur    schedule 12.05.2011    source источник


Ответы (1)


Вызовите focus() в окне, возвращенном window.open():

window.open(url, name, params).focus();
person gilly3    schedule 12.05.2011