target =“_ blank”vs target =“_ new”
<a target="_new">
和<a target="_blank">
如果我只想在新标签页/窗口中打开链接,应该使用哪一个?
使用“_blank”!
根据HTML5规范 :
有效的浏览上下文名称是至less有一个字符不是以U + 005F LOW LINE字符开始的任何string。 (以下划线开头的名字是为特殊关键字保留的。)
有效的浏览上下文名称或关键字是任何有效的浏览上下文名称的string,或者是_blank,_self,_parent或_top之一的ASCII不区分大小写的匹配项。
这意味着在HTML5中没有像_new
这样的关键字,而在HTML4(也就是XHTML)中也没有这样的关键字。 这意味着,如果将此用作目标属性的值,将不会有任何一致的行为。
使用target="_blank"
将指示浏览器在用户点击链接时创build一个新的浏览器选项卡或窗口。
使用target="_new"
根据规范在技术上是无效的,但据我所知,每个浏览器的行为都是一样的:
- 它将search带有上下文名称“_new”的选项卡或窗口
- 如果find“_new”选项卡/窗口,则将URL加载到该窗口中
- 如果找不到,则会使用上下文名称“_new”创build一个新的选项卡/窗口,并将URL加载到该选项卡/窗口中
注意target="_new"
行为与target="new"
完全相同,而后者是有效的HTML,而前者是无效的HTML。
添加一些混淆,在HTML4 target
属性已被弃用。 在HTML5中,这个决定被颠倒过来了,它又是规范的官方部分。 所有的浏览器都支持target
不pipe你使用的是什么版本的HTML,但是如果你的文档types是HTML4的话,一些validation器会把这个使用标记为废弃。
TL; DR
使用_blank
目标属性指定打开链接文档的位置。
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”不是任何这些IT将在“框架名称”,所以如果用户重新点击该超链接,它将不会打开一个新的选项卡,而是更新现有的选项卡。 而在_blank,如果用户点击两次然后打开2个新标签。
这可能以前被问过,但是:
“指定target =”_ new“的每个链接都会查找并按名称find该窗口,并在其中打开。
如果您使用target =“_ blank”,则每次都会在当前窗口顶部创build一个全新的窗口。
从这里: http : //thedesignspace.net/MT2archives/000316.html
这是我的理解, target = whatever
将寻找具有该名称的框架/窗口。 如果没有find,它将打开一个名称为新的窗口。 如果whatever == "_new"
_blank
whatever == "_new"
,就会像使用_blank
除了…..
使用其中一个保留的目标名称将绕过“寻找”阶段。 因此,十几个链接上的target = "_blank"
会打开十几个空白窗口,但是target = whatever
十几个链接上的target = whatever
内容只会打开一个窗口。 target = "_new"
十几个链接可能会给不定常的行为。 我没有尝试过几个浏览器,但应该只打开一个窗口。
至less这是我如何解释规则。
target="_blank"
在大多数浏览器中打开一个新标签。
注意 – 记得总是包含“引号” – 至less在Chrome上, target=_blank
(不包括引号)不是target="_blank"
(带引号)。
后者在新标签页/窗口中打开每个链接。 前者(缺less引号)打开第一个链接,你点击一个新的标签页/窗口,然后用你点击的每个后续链接覆盖相同的标签页/窗口(也用缺less的引号命名)。
- _blank作为目标值每次都会产生一个新的窗口,
- _new只会产生一个新的窗口。
另外,每个用_new的目标值点击的链接将replace在先前衍生的窗口中加载的页面。
你可以点击这里什么时候使用_blank或_new自己尝试一下。
我知道这是一个老问题,使用_blank
,已经提到了几次,但是使用<a target="somesite.com" target=_blank>Link</a>
是一个安全风险 。
build议 ( 性能优势 )使用<a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>
链接的目标属性强制浏览器在新的浏览器窗口中打开目标页面。 使用_blank
作为目标值会每次产生一个新的窗口,而_new
只会产生一个新的窗口,每一个点击目标值_new
链接都会replace之前产生的窗口中加载的页面
为了在新标签页/窗口中打开链接,您将使用<a target="_blank">
。
值_blank
=有针对性的浏览上下文:一个新的:选项卡或窗口取决于您的浏览设置
价值_新=无效; 在HTML5中,对于元素上的目标属性没有这样的值
目标属性及其所有值: video演示
在使用Iframed的页面上使用_New非常有用。 由于target =“_ blank”不能实现这个function,并在相同的iframe上打开页面… target new是Iframe页面的最佳解决scheme。 只是我的五美分。