首页 > 解决方案 > HREF target='_blank' 在 Chrome 79 中不起作用

问题描述

使用简单的 HTML 代码,没有 JavaScript,没什么花哨的,我使用这个 HREF

<a href="https://www.example.com" target="_blank">Click here</a>

单击 IE、FireFox、Edge 中的链接确实会在单击时为https://www.example.com打开一个新选项卡。在 Chrome(版本 79)中,单击只是重新显示当前页面。

这发生在 Chrome 桌面和手机 (Android) 上。我安装的 Chrome 没有插件;没有安装弹出窗口或广告拦截。

为什么 Chrome 在target="_blank"使用时不打开新标签页?谢谢。

添加

问题似乎在于 HREF 位于 FORM 元素内。FORM 元素如下:

<form action='' method='post'> 

FORM 元素外带有 target="_blank" 的 HREF 可以正常工作。只是不在 FORM 元素内。

但仍然对为什么会这样......以及解决方法或解决方案感到困惑。

添加了更多 - 加码

表单内有一个按钮,并且该按钮包含一个图像,并且按钮中的链接不会打开新选项卡。

带有按钮的简单表格

<form action='' method='post'>
    <p>inside the form</p> 
 <p><button><a href="https://www.bklnk.com/B004RVZRL0" target="_blank"><img src="https://via.placeholder.com/150 " width="24" height="24"  class='button_img' alt='delete' /></a> that's a button</button></p>  
 <p><button><a href="https://www.bklnk.com/B004RVZRL0" target="_blank">that's a button</a> </button></p>    
</form>

因此,通过进一步的测试,当 HREF 包裹在表单内带有图像的按钮周围时,单击以打开新选项卡将无法在 Chrome 中工作。但适用于 FireFox 和 Edge。

为什么?

表单中有四个图像/按钮。第四个是 HREF/空白。第 1-2-3 项是表格提交;需要将值传递给表单处理页面。第 4 项不需要由表单处理,但它在表单内部,因此所有 4 项将位于同一行。如果我将第 4 项(HREF/空白)放在表单之外,则第 4 项将环绕到下一行。一个

标签: browserhref

解决方案


<button>不能像 an 那样在新选项卡中打开标签<a>

您可以改用它:

<p>
  <button onClick="window.open('https://www.bklnk.com/B004RVZRL0');">
    <img src="https://via.placeholder.com/150 " width="24" height="24" class='button_img' alt='delete' />
    that's a button
  </button>
</p>


推荐阅读