Как избежать дублирования вкладок или окон браузера (window.open ()) - PullRequest
3 голосов
/ 29 февраля 2012

В Javascript мы можем использовать window.open (), чтобы открыть новое окно браузера или вкладку. Но если вкладка уже открыта, она должна выделить только это. Не следует открывать дубликаты вкладок. Как это сделать?

Ответы [ 4 ]

4 голосов
/ 29 февраля 2012

Второй аргумент из window.open(strUrl, strWindowName[, strWindowFeatures]); - это имя окна. если вы укажете этот параметр, к чему-либо, кроме "_blank", он будет ссылаться на уже открытую вкладку / окно.

Например:

window.open('/about', 'newwindow');

и

window.open('/contact', 'newwindow');

откроет страницу в уже открытом окне / вкладке.

2 голосов
/ 29 февраля 2012

Дайте окну целевое имя: http://www.javascript -coder.com / оконного всплывающее окно / JavaScript-окно-open.phtml

В нем откроются новые URL, если они уже существуют

2 голосов
/ 29 февраля 2012

Убедитесь, что вы указали одно и то же имя окна для window.open () каждый раз!(второй параметр, не должен быть пустым)

Вам нужно будет управлять объектом окна, возвращенным из window.open (), и проверять, был ли он закрыт или нет, проверить https://developer.mozilla.org/en/DOM/window и closed собственность.У вас должно быть окно со списком URL-адресов, которое поможет вам решить, использовать ли window.open () для открытия нового окна (URL-адрес, который не открыт в данный момент) или использовать открытое окно (фокус) () (открытое окноявляется объектом, возвращенным предыдущим вызовом window.open ()), чтобы вывести окно на экран.

0 голосов
/ 11 сентября 2013

Код кандидата нуждается в небольшой коррекции. Нулевое условие должно быть проверено, а не "! ="

popwin.html - это страница, которую вы хотите открыть во всплывающем окне. Я знаю, что на этот вопрос уже дан ответ, просто отправляю сообщение на случай, если кто-то захочет обратиться позже.

ОСНОВНОЙ ОКОННЫЙ КОД:

<script type='text/javascript'>
var newwin;
function popup(){

if (newwin == null) 
    { 
    window.open('popwin.html', 'newwin'); 
    } 
    else 
    { 
    newwin.focus(); 
    }
}

</script>

ПОЗВОНИТЕ POPUP в области тела той же страницы:

<a href="#" onClick="popup();">Open Window</a>
...