我试图了解以下行为。锚目标_blank被浏览器阻止
我创建了一个简单的锚标记:
<a href="/example/link" target="_blank">
<img src="/images/layout_open.png">
<span class="open-new-tab">Open in new tab</span>
</a>
更新:这些<a>
标签是异步创建。在AJAX请求后,JS会创建<a>
标签。
问题是Google Chrome会阻止打开选项卡,就好像它是一个阻碍弹出窗口。
我该如何避免这种行为? 我已阅读其他StackOverflow问题,我可以添加<a>
标记数据属性,并通过jQuery将事件绑定到它并使用JS我可以打开一个新窗口。
我不明白的是为什么在我的例子中它不工作,并在其他网站没有被阻止。它链接到相同的域和主机。
我得出结论可能是因为当我按span或img时,事件将在冒泡阶段被触发,那么它不是直接动作,而是间接动作。
这是什么原因,我该如何避免它?
感谢
更新:
我想我已经找到了解决办法。问题是,图像有一个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会将此标记为间接行为。
我会尝试明天,让你知道在更新nr。 2
谢谢大家
它应该没有问题。 –
你是否用代码点击它,而不是用户操作? – epascarello
单击图像或跨度后。我不通过Javascript单击调用点击事件。 –