你应该在哪些链接上使用target="_blank"?

33

在您的超链接上使用target="_blank"属性的适当情况是什么时候?

编辑:

为了澄清,我知道该语法会打开一个新的浏览器窗口。我的问题是在什么情况下这样做是合适的?


1
https://css-tricks.com/use-target_blank/ - chharvey
可能是 https://ux.stackexchange.com/questions/5397/whats-your-take-on-target-blank 的重复问题。 - Michael Freidgeim
这个回答解决了你的问题吗?是否使用target=_blank,这是一个问题! - Michael Freidgeim
你意识到这两个发布的问题是在这个问题被提出一年甚至多年之后创建的,对吧? - Dave Redding
22个回答

30

无论何时,如果你想要惹恼用户。


更加严肃地说,由于这会打开一个新的窗口/选项卡,我认为它应该被谨慎使用。

大多数现代浏览器都有一些选项(例如:在超链接上按中键),可以替你完成这个操作,因此我个人更喜欢允许用户自己处理这个问题。

但是,如果你正在处理某些非技术原因导致需要这样做的工作,比如销售型网站,通常希望在新窗口中打开产品手册或类似内容。然而,请注意过度使用会导致我上面伪玩笑式的回复....


我希望现代网络浏览器也能让用户自定义对target=_blank属性的反应。目前Mozilla是唯一完全实现此功能的浏览器,Opera滞后,而IE则根本没有提供自定义的方法。 - Сыч
1
是的 - 这将是很好的...我甚至希望有一种方法可以突出显示链接是target=_blank,这样我就知道一个新窗口会打开... - Reed Copsey
1
@Reed Copsey:如果你喜欢这种东西,你可以用一个Greasemonkey脚本来做。 - Ben Dunlap

20

每当你想要保留当前页面不变时。

我有一种感觉,你的问题应该是“在什么情况下适合打开新选项卡或浏览器窗口?”

如果是这样,答案可能是:

  • 当前表单可能处于编辑模式,您希望能够打开另一页而不会忽略或保存当前表单。
  • 您有一个数据流(如Twitter),您希望在查看X时保持其活动状态。
  • 有具体的业务需求需要这样做。
  • 您的用户导航能力较弱,无法找回主页。

2
你的用户是弱电脑用户 - 根据我的经验,这很难说准。在为公司内部使用设计的页面上,我经常看到使用“_target”只会让我的非极客用户更加困惑。 - Ben Dunlap
它肯定有其不足之处。 - John MacIntyre
顺便说一句,我已经修复了你引用的拼写错误。……仅供参考。 - John MacIntyre
不错。我曾经想写[sic],但不想表现得像个混蛋。;-) - Ben Dunlap
2
可以将打开PDF文档添加到列表中。 - Marko
同意@Marko的观点,看到所有这些答案,似乎这种情况最常见的两种情况是:打开文件,维护未保存或仍在运行的页面状态。 - zrisher

12

当您链接到外部资源以供人们查看额外信息、参考等时,使用此功能是最合适的。

这样他们就可以离开您的站点,而不会失去在您页面上的位置或不得不使用后退按钮。

此外,如果想要关闭它,它还会确保他们必须再次查看一次。;-)

(最后一个是个笑话,当然我不赞成这种卑鄙的做法...)


6
我真的不喜欢使用“_target”来留住用户在你的网站上。让你网站极高的内容质量吸引人们返回,而不是别的什么。 - Ben Dunlap
3
我从未有过使用它的原因,但当我在浏览一个复杂的JavaScript网站时,点击帮助按钮或类似的东西时,我很感激它。如果链接没有指示它们是否会将您带离当前页面并最终带你到其他页面,打断了您在该网站上原本正在进行的任何操作,我会很讨厌它。 - Gabriel Hurley
我同意。如果你是用它来防止某人正在进行的工作被破坏,那么可以,尽管可能有更好的方法来解决这个问题。我只是反对你最后一句话(“确保他们必须再看一遍”)。 - Ben Dunlap
1
我完全同意。这只是一个玩笑。不幸的是,有很多人确实会用它来做那种事情。 - Gabriel Hurley
1
抱歉,我无意冒犯你的幽默感。我需要一杯啤酒。 - Ben Dunlap

8

通常我会像避开瘟疫一样避免使用它。然而,也许你想使用它的一个好例子是,如果你正在构建一个购物车模块或其他类似的东西,并且你有“点击查看更大的图片”链接。在这种情况下,我认为使用它是可以的。

请记住,每当你这么做时,都意味着你认为自己比用户更了解他们的工作流程(他们始终可以在不强制使用它的情况下在新窗口中打开链接)。在“更大的图片”链接的情况下,你很可能正确地认为这就是他们想要的,但在大多数情况下,我不会轻易下结论。


2
如果我需要显示一张更大的图片,我只需在常规链接上使用一些基于JavaScript的灯箱。虽然在这些链接上保留target=_blank可能对于禁用JavaScript的情况仍然有意义。 - Сыч
3
大多数网页都应该适用于非专家用户。例如,在数据输入页面,单击帮助链接(除非目标是_blank)会导致您丢失正在编辑的内容。一些(天真的)用户可能实际上不会预料到一个链接会破坏他们的工作... - Tor Haugen
@RommeDeSerieux 当然,我并不是建议这是展示图片的最佳方式。假设你有 JavaScript 能力,Lightbox 是一个更好的方法。 - Joseph
我非常讨厌网站在另一个窗口中打开“更大的图片”。我试图点击“后退-后退-后退”,但它不起作用。然后我发现该该死的网站已经打开了另一个窗口。嗯...我也不喜欢那些灯箱效果 - 它们通常有一些“酷炫”的动画,使得浏览图片变得非常缓慢。 - Rene Saarsoo
@RommeDeSerieux 选项卡与这个问题完全无关。如果你所说的“IE6”思维方式是期望链接具有合理的默认目标,那么我每天都会选择“IE6”思维方式。 - Tor Haugen
显示剩余2条评论

7
当你想要链接在新窗口中打开时,我会这样假设。我认为使用这种方式的时机是当人们可能会点击一个链接而破坏当前页面上正在进行的操作,比如在表单上的“帮助”链接。
尽管有些人会争辩说你应该永远不要使用target="_blank"

3

需要注意的一点是无障碍性。为了帮助盲人用户(例如文本转语音),内置功能可能在打开新窗口或标签时表现出奇怪的行为(或者只是令用户感到困惑)。

此外,您正在破坏每个浏览器最常用的功能...返回按钮。


3

只有在极度确定不会让用户重复操作的情况下,才应该采取此措施。


2
target="_blank" 在XHTML 1.0 strict中已被弃用,因此如果我想要打开一个新页面(或选项卡),我只会在外部链接(如维基百科等)中使用JS。更多信息请参考以下链接:http://www.ajaxblender.com/open-links-new-window-w3c-valid-target-blank.html。请注意:尽管在XHTML 1.0 strict中已被弃用,但target="_blank"在HTML 5中已经被重新引入。

1
它已经在HTML5中被重新引入。 - Will Peavy
当验证器没有发现问题时,你的页面看起来是有效的。通过使用 document.write() 等方式很容易欺骗验证器,但这并不意味着当你这样做时,你的文档就是有效的。 - Konrad Borowski
嗨@WillPeavy,我尝试集成您的评论。更改上线后,请随意隐藏您的评论,并将我的评论标记为过时。 - Valerio Bozz
顺便提一下,注意到在这个答案之前,另一个用户已经回答了一个非常相似的答案:https://dev59.com/k3NA5IYBdhLWcg3wdtz5#949869 - 在这种情况下该怎么办? - Valerio Bozz
顺便提一下,注意到在这个答案之前,另一个用户已经回复了一个非常相似的答案:https://stackoverflow.com/a/949869/3451846 - 在这种情况下应该怎么办? - undefined

2
我认为你不应该在开发者论坛上问用户体验问题,因为你会得到开发者的答案。
话虽如此,作为一个开发者,当我希望(或想要)用户回到链接来源的网站继续工作时,我会打开新窗口。

2
我只会在页面上有多媒体内容时考虑此事。
最好的例子我能想到的是StackOverflow播客...我不知道有多少次我匆忙点击博客文章中的链接,只是让我离开了播客页面!
此外,在YouTube上,当我点击“查看评论”时,它会把我带离视频页面。
无论你做什么,都不要使用JavaScript打开一个新窗口。那绝对是最糟糕的。没有什么比中键单击只能在地址栏中打开一个带有javascript::garbage的新标签页更糟糕的了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接