锚点目标_blank被浏览器阻止

时间:2016-03-19 14:45:59

标签: javascript jquery html css

我试图理解以下行为。

我创建了一个简单的锚标记:

<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会将此标记为间接操作。

我会在明天尝试并在更新中通知您。 2

谢谢大家

1 个答案:

答案 0 :(得分:2)

这不是浏览器的正常行为,但更可能是尝试积极阻止弹出窗口的扩展程序。

转到chrome:// extensions / url。

,检查您的Chrome扩展程序