以下の動作を理解しようとしています。アンカーターゲット_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が、代わりに開くタブを妨げになるようにブロックすることです。
この現象を回避するにはどうすればよいですか? 私は<a>
タグにデータ属性を追加し、jQueryを使ってイベントをバインドし、JSを使用して新しいウィンドウを開くことができる他のStackOverflowの質問を読んでいます。
私の理解できないことは、私の例ではうまくいかず、他のサイトではブロックされていないからです。同じドメインとホストにリンクしています。
スパンや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
ありがとうすべて
問題なく動作するはずです。 –
ユーザーアクションではなくコードでクリックしていますか? – epascarello
イメージまたはスパンをクリックした後。私はJavascriptでclickイベントを呼び出すことをクリックしません。 –