2012-04-18 4 views
1

Я хочу по умолчанию target=_blank, если window.open() не работает.Ошибка, если window.open() заблокирован блокировщиками всплывающих окон?

Например. Пользователь нажимает ссылку, которая вызывает window.open(). Однако всплывающее окно блокируется блокировщиком всплывающих окон. В этом случае я хочу вместо этого открыть новое окно. Это возможно?

P.S. У меня загружен jQuery.

+0

Это может помочь: HTTP: // stackoverflow.com/questions/668286/detect-blocked-popup-in-chrome Или это: http://thecodeabode.blogspot.com/2010/11/window-open-popup-blocker-detect-for.html –

ответ

0

Попробуйте

Если предположить, что это ваш Тэг

<a href="http://www.w3schools.com" id="myLink" target="_blank">Click me</a> 

Затем с помощью JQuery, добавить обработчик событий нажмите на это:

$("#myLink").click(function(e){ 
    if(!window.open("http://www.w3schools.com")){ 
     e.preventDefault(); 
    } 
}); 
+2

w3schools. com ... bleh! –

+1

Это не будет работать в Chrome. Chrome возвращает действительный объект 'Window' из' window.open', даже если всплывающее окно заблокировано. –

Смежные вопросы