首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >target="_blank“与target="_new”

target="_blank“与target="_new”
EN

Stack Overflow用户
提问于 2011-02-11 07:54:24
回答 12查看 563K关注 0票数 528

<a target="_new"><a target="_blank">有什么区别?如果我只是想在新的选项卡/窗口中打开一个链接,我应该使用哪一个?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-02-11 08:07:23

使用"_blank“

根据HTML5 Spec的说法

有效的浏览上下文名称是至少包含一个字符且不是以U+005F低行字符开头的任何字符串。(以下划线开头的名称保留为特殊关键字。)

ASCII context name or keyword是任何字符串,可以是有效的浏览上下文名称,也可以是_blank、_self、_parent或_top之一的不区分大小写的ASCII.“- Source

这意味着在HTML5和not in HTML4 (and consequently XHTML) either中没有_new这样的关键字。这意味着,如果您将其用作目标属性的值,则将不会有任何一致的行为。

安全建议

正如丹尼尔和迈克尔在评论中指出的那样,当使用指向不可信网站的目标_blank时,您还应该设置rel="noopener"。这可以防止开场白通过JavaScript弄乱开场白。有关详细信息,请参阅this post

票数 668
EN

Stack Overflow用户

发布于 2012-01-15 10:18:22

使用target="_blank"将指示浏览器在用户单击链接时创建新的浏览器选项卡或窗口。

根据规范,使用target="_new"在技术上是无效的,但据我所知,每个浏览器的行为方式都是一样的:

  • 它将搜索上下文名称为"_new“的选项卡或窗口
  • 如果找到"_new”选项卡/窗口,则将其加载到其中
  • 如果未找到,则创建一个上下文名称为“_new”的新选项卡/窗口,并将URL加载到其中

target="_new"的行为与target="new"完全相同,后者是有效的,而前者是无效的。

更令人困惑的是,在HTML4中,target属性已被弃用。在HTML5中,这一决定被推翻了,它再次成为规范的官方部分。不管你使用的是什么版本的超文本标记语言,所有的浏览器都支持target,但是如果你的文档类型是HTML4,一些验证器会把它标记为不推荐使用。

票数 130
EN

Stack Overflow用户

发布于 2015-07-27 02:30:23

TL;DR

使用_blank

target属性指定打开链接文档的位置。

代码语言:javascript
复制
USAGE: target="xyz"  [don't forget double quotes]

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent     Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window 
framename   Opens the linked document in a named frame

因为"_new“不是这些标签中任何一个,所以它将被置于"framename”之下,因此如果用户重新点击超链接,它将不会打开新的标签,而是更新现有的标签。而在_blank中,如果用户单击两次,则会打开两个新标签。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4964130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档