<a target="_new">和<a target="_blank">有什么区别?如果我只是想在新的选项卡/窗口中打开一个链接,我应该使用哪一个?
发布于 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。
发布于 2012-01-15 10:18:22
使用target="_blank"将指示浏览器在用户单击链接时创建新的浏览器选项卡或窗口。
根据规范,使用target="_new"在技术上是无效的,但据我所知,每个浏览器的行为方式都是一样的:
注target="_new"的行为与target="new"完全相同,后者是有效的,而前者是无效的。
更令人困惑的是,在HTML4中,target属性已被弃用。在HTML5中,这一决定被推翻了,它再次成为规范的官方部分。不管你使用的是什么版本的超文本标记语言,所有的浏览器都支持target,但是如果你的文档类型是HTML4,一些验证器会把它标记为不推荐使用。
发布于 2015-07-27 02:30:23
TL;DR
使用_blank
target属性指定打开链接文档的位置。
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中,如果用户单击两次,则会打开两个新标签。
https://stackoverflow.com/questions/4964130
复制相似问题