我試圖瞭解以下行爲。錨目標_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單擊調用點擊事件。 –