和 有什么区别?如果我只想在新标签页/窗口中打开链接,应该使用哪个?" />
和 有什么区别?如果我只想在新标签页/窗口中打开链接,应该使用哪个?">
和 有什么区别?如果我只想在新标签页/窗口中打开链接,应该使用哪个?" />
使用“_blank”
根据HTML5 Spec:
有效的浏览上下文名称是具有至少一个不以 U+005F LOW LINE 字符开头的字符的任何字符串。 (以下划线开头的名称保留用于特殊关键字。)有效的浏览上下文名称或关键字是任何字符串,它要么是有效的浏览上下文名称,要么是与以下之一不区分大小写的 ASCII 匹配:_blank、_self、_parent、或 _top。”——来源
这意味着在 HTML5 中没有
安全建议
正如 Daniel 和 Michael 在评论中指出的那样,当使用 target
使用
根据规范,使用
它将搜索上下文名称为“_new”的选项卡或窗口
如果找到“_new”选项卡/窗口,则将 URL 加载到其中
如果未找到,则使用上下文名称“_new”创建一个新选项卡/窗口,并将 URL 加载到其中
注意
对此增加了一些混乱,在 HTML4 中,
TL;DR 使用 _blank
target 属性指定打开链接文档的位置。
因为“_new”不是其中的任何一个,它会出现在“framename”下,因此如果用户重新单击该超链接,它将不会打开新选项卡,而是更新现有选项卡。而在 _blank 中,如果用户单击两次,则会打开 2 个新选项卡。
我知道这是一个老问题,正确答案,使用
使用 recommended (performance benefits):
这可能以前被问过,但是:
“每个指定 target="_new" 的链接都会按名称查找并找到该窗口,并在其中打开。
如果你使用 target="_blank," 每次都会在当前窗口之上创建一个全新的窗口。
从这里:http://thedesignspace.net/MT2archives/000316.html
据我了解,
使用保留的目标名称之一将绕过“查找”阶段。因此,十几个链接上的
至少我是这样解释规则的。
注意 - 请记住始终包含“引号” - 至少在 Chrome 上,
后者在新选项卡/窗口中打开每个链接。前者(缺少引号)打开您在一个新选项卡/窗口中单击的第一个链接,然后用您单击的每个后续链接(也以缺少引号命名)覆盖相同的选项卡/窗口。
_blank 作为目标值每次都会产生一个新窗口,
_new 只会产生一个新窗口。
此外,使用 _new 目标值单击的每个链接都将替换在先前生成的窗口中加载的页面。
您可以点击此处When to use _blank or _new亲自试用。
链接的目标属性强制浏览器在新的浏览器窗口中打开目标页面。使用
要在新标签/窗口中打开链接,您将使用
值
值
目标属性及其元素上的所有值:video demo
在处理 Iframed 页面时,使用 _New 很有用。由于 target="_blank" 没有做到这一点并在同一个 iframe 上打开页面...... target new 是 iframe 页面的最佳解决方案。只是我的五分钱。
target="_blank" 与 target="_new"
<a target="_new">
和 <a target="_blank">
有什么区别?如果我只想在新标签页/窗口中打开链接,应该使用哪个?
_new
没有任何特殊含义。您也可以写 _white_little_lamb
。
_new
”没有任何特殊含义是怎么回事?
rel="noopener"
的 target="_blank"
是一个潜在的安全漏洞。搜索 rel="noopener"
以了解更多信息。
_new
和 not in HTML4 (and consequently XHTML) either 这样的关键字。这意味着,如果您将其用作目标属性的值,则无论如何都不会出现一致的行为。
_blank
指向不受信任的网站时,您还应该设置 rel="noopener"
。这可以防止打开站点通过 JavaScript 与打开器混淆。有关详细信息,请参阅 this post。
target="_blank"
将指示浏览器在用户单击链接时创建新的浏览器选项卡或窗口。
target="_new"
在技术上是无效的,但据我所知,每个浏览器的行为方式都相同:
target="_new"
的行为与 target="new"
完全相同,后者是有效的 HTML,而前者是无效的 HTML。
target
属性已被弃用。在 HTML5 中,这一决定被推翻,它再次成为规范的官方部分。无论您使用什么版本的 HTML,所有浏览器都支持 target
,但如果您的文档类型是 HTML4,一些验证器会将其标记为已弃用。
target="_new"
的链接,它们都会在同一个选项卡中打开,一个会覆盖另一个?
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
_blank
,已多次提及,但使用 <a target="somesite.com" target="_blank">Link</a>
存在安全风险。
<a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>
target="_blank"
在大多数浏览器中打开一个新标签。
target = whatever
将寻找具有该名称的框架/窗口。如果找不到,它将打开一个具有该名称的新窗口。如果是 whatever == "_new"
,它看起来就像您使用 _blank
一样,除了.....
target = "_blank"
会打开十几个空白窗口,但十几个链接上的 target = whatever
只会打开一个窗口。 target = "_new"
在十几个链接上可能会出现反复无常的行为。我没有在几种浏览器上尝试过,但应该只打开一个窗口。
target=_blank
(无引号)与 target="_blank"
(带引号)不同。
_new
吗?
_new
不是一个神奇的关键字,它只是一个名称,如果存在具有该名称的窗口,它将重用它,否则它将打开它.单击该窗口的多个链接只会在命名窗口中打开不同的页面,而不是打开多个新页面。
ignore
以下划线开头但不是关键字的目标。当浏览器“忽略”无效的目标名称时,没有建议应该做什么。可能性包括:(1)将其视为“_blank”(2)将其视为窗口名称(好像没有非法下划线)(3)将其视为明确为空的窗口名称(4)将其视为那里没有目标属性。 -- 任何浏览器都可以选择任何解释。
_blank
作为目标值每次都会产生一个新窗口,而使用 _new
只会产生一个新窗口,并且以 _new
目标值单击的每个链接都将替换在先前产生的窗口中加载的页面
<a target="_blank">
。
_blank
= 目标浏览上下文:新的:选项卡或窗口,具体取决于您的浏览设置
_new
= 无效; HTML5 中没有针对元素的目标属性的此类值
valid browsing context name
或关键字是任何字符串,它要么是valid browsing context name
要么......”target="_blank"
中的 javascript attack vulnerability,人们还应该添加rel="noopener noreferrer"