【发布时间】:2019-12-15 10:21:33
【问题描述】:
使用简单的 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 没有插件;没有安装弹出窗口或广告拦截。
为什么在使用 target="_blank" 时 Chrome 不打开新标签页?谢谢。
已添加
问题似乎在于 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 项将环绕到下一行。 一个
【问题讨论】:
-
它对我有用。你能发一个minimal reproducible example吗,因为我相信可能还有更多内容。
-
@LasseV.Karlsen 添加了代码示例。它是表单内 HREF 内的按钮内的图像。