target="_blank"
href属性已成为许多讨论的主题。 什么时候该使用它是对的,我们是否应该使用它,它实际上是否已被弃用,它是否具有良好的用户体验,是否违反了用户的期望等?
对于改善浏览器的标准行为,我提出了一个奇怪的建议–在某些情况下隐式target=_blank"
。但是,让我们尝试列出何时target="_blank"
是个好主意:
- 在带有表单的页面上,当用户可能需要其他信息来填写表单,但您不希望他们离开表单并丢失输入时
- 在类似主页的网站(例如twitter和facebook)上,您的行为是“浏览”并在此处和此处打开链接。 它可能适用于reddit或hacker news之类的东西,尽管目前还没有以这种方式实现
- 在用户提供链接的评论/评论部分中–与上一个相似,因为默认行为是浏览多个评论并可能跟随其中的一些评论
这里的典型论点是,如果用户要打开新页面,则可以使用上下文菜单或ctrl + click进行操作。 没有多少用户知道该功能,使用该功能的用户甚至更少。 这些页面中的许多页面令人困惑,并且有时还带有折断的后退按钮,变成了一场噩梦。
在某些情况下,使用javascript可以使事情变得更好(更复杂)。 在表单的情况下,添加了javascript来警告人们不要将表单保留为未完成的形式。 使用Javascript将某些链接转换为target =“ _ blank”。 有人尝试使用javascript打开新标签页。
所以我的建议是引入一个
对于打开链接和表单具有以下值:
-
open-links="new-tab"
–为页面上或当前div / section /…中的每个链接打开一个链接标签。 -
open-links="new-window"
–与上面相同,但是打开一个新窗口(几乎绝不是一个好主意) -
open-links="new-tab-on-form"
–仅在页面上有表单时才打开新标签(可能另一个要求是部分填充表单) -
open-links="new-window-on-form"
–与上面相同,但是带有新窗口 -
open-links="warn-on-form"
–在同一标签中打开链接,但是如果表单部分填写,请警告用户他们将丢失输入
我认为默认值应为new-tab-on-form
。 必须考虑安全性,因为恶意页面可能会影响使用target =“ _ blank”的页面 。
它可能会带来新的复杂性,并使用户进一步困惑。 但我认为值得尝试修复网络的这一重要部分,而不是让每个网站自己处理(或忘记处理)。
翻译自: https://www.javacodegeeks.com/2019/03/implicit-_targetblank.html