Я пытаюсь понять следующее поведение.Anchor target _blank заблокирован браузером
Я создал простой якорный тег:
<a href="/example/link" target="_blank">
<img src="/images/layout_open.png">
<span class="open-new-tab">Open in new tab</span>
</a>
Update: Эти <a>
теги создаются асинхронно. После запросов AJAX JS создает теги <a>
.
Проблема заключается в том, что Google Chrome вместо этого блокирует вкладку открытия, как если бы это было обструктивное всплывающее окно.
Как я могу избежать такого поведения? Я прочитал на других вопросах StackOverflow, что я могу добавить тег данных <a>
и через jQuery связать ему событие, а с помощью JS я могу открыть новое окно.
Я не понимаю, почему в моем примере он не работает, а на других сайтах он не блокируется. Это соединение с одним и тем же доменом и хостом.
Я пришел к выводу, что это может произойти из-за того, что когда я нажимаю span или img, событие будет запущено во время фазы пузырьков, тогда это не прямое действие, а косвенное действие.
В чем причина этого и как его избежать?
Благодаря
Update:
Я думаю, что я узнал решение. Проблема в том, что у изображений есть привязанное к нему событие onclick, которое я раньше не делал. Так же, как это:
<a href="/example/link" target="_blank">
<img src="/images/layout_open.png" onclick="showFullImage()">
<span class="open-new-tab">Open in new tab</span>
</a>
Я не пробовал еще, но, как предположил @Siderite, что блокировка не регулярное поведение браузера. Поэтому я считаю, что Google Chrome будет отмечать это как косвенное действие.
Я попробую завтра и дам вам знать в Update nr. 2
Спасибо всем
Он должен работать без проблем. –
Вы нажимаете на него кодом, а не действием пользователя? – epascarello
После того, как я нажму изображение или пробел. Я не нажимаю на вызов события click через Javascript. –