JavaScript / jQuery - Открывает текущую ссылку во всплывающем окне

<a href="http://google.com">Link</a>

Как я могу открыть эту ссылку во всплывающем окне? И предотвратите браузер для блокирования его

19
задан Alex 10 July 2010 в 13:18
поделиться

3 ответа

Есть "новые окна" и есть "всплывающие окна". Использование target=_blank откроется в новом окне, за исключением того, что современные браузеры по умолчанию помещают новые окна в новые вкладки. Похоже, это не то, что вам нужно.

Для фактического всплывающего окна вам нужно window.open(), и не забудьте указать определенную ширину и высоту, иначе некоторые браузеры будут помещать новое окно в новую вкладку. Пример Дарина кажется мне хорошим.

Что касается блокировки всплывающих окон, общий подход, которого придерживаются браузеры, заключается в том, что всплывающие окна, инициированные действием пользователя, разрешены (например, щелчком мыши), а всплывающие окна, инициированные спонтанно с помощью скрипта, как, например, это, блокируются:

<script type="text/javascript">
    window.open("http://www.google.com/", "Google", "width=500,height=500");
</script>

Однако блокировка рекламы - это эскалационная война, и вы никогда не можете быть уверены, что всплывающее окно откроется. Если ваше всплывающее окно заблокировано, вызов window.open возвращает null. Поэтому я бы изменил пример Дарена следующим образом:

<a href="http://www.google.com/"
    onclick="return !window.open(this.href, 'Google', 'width=500,height=500')"
    target="_blank">

Если всплывающее окно заблокировано, onclick возвращает true, который следует за ссылкой, на которую кликнули, открывая ее в новом окне или вкладке. Это запасной вариант, так что, по крайней мере, содержимое будет доступно (если не красиво).

64
ответ дан 30 November 2019 в 01:58
поделиться
<a href="http://google.com" onclick="window.open(this.href, 'windowName', 'width=1000, height=700, left=24, top=24, scrollbars, resizable'); return false;">Link</a>
9
ответ дан 30 November 2019 в 01:58
поделиться

Это откроет новое окно.

<a href="http://google.com" target="_blank">Link</a>
2
ответ дан 30 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: