<a target="_new">和<a target="_blank">之间的区别是什么?如果我只想在一个新的选项卡/窗口中打开一个链接,我应该使用哪个?
当前回答
使用“平等”
根据HTML5规范:
有效的浏览上下文名称是任何至少有一个字符不是以U+005F LOW LINE字符开头的字符串。(以下划线开头的名称仅用于特殊关键字。) 有效的浏览上下文名称或关键字是任何字符串,该字符串要么是有效的浏览上下文名称,要么是_blank、_self、_parent或_top的ASCII大小写不敏感匹配项。”——源
这意味着在HTML5中没有_new这样的关键字,在HTML4(因此XHTML)中也没有。这意味着,如果将此作为目标属性的值,将不会有一致的行为。
安全建议
正如Daniel和Michael在评论中指出的,当使用targe_blank指向一个不可信的网站时,你应该另外设置rel="noopener"。这可以防止打开站点通过JavaScript干扰打开器。更多信息请看这篇文章。
其他回答
我知道这是一个老问题,正确的答案,使用_blank,已经提到了几次,但是使用<a target=" somesitee.com " target="_blank">Link</a>是一个安全风险。
推荐使用(性能优势):
<a href="somesite.com" target="_blank" rel="noopener noreferrer">Link</a>
以前可能有人问过这个问题,但是:
"每个指定target="_new"的链接都会根据名称查找并找到该窗口,并在其中打开。
如果你使用target="_blank ",每次都会在当前窗口的顶部创建一个全新的窗口。"
网址:http://thedesignspace.net/MT2archives/000316.html
使用“平等”
根据HTML5规范:
有效的浏览上下文名称是任何至少有一个字符不是以U+005F LOW LINE字符开头的字符串。(以下划线开头的名称仅用于特殊关键字。) 有效的浏览上下文名称或关键字是任何字符串,该字符串要么是有效的浏览上下文名称,要么是_blank、_self、_parent或_top的ASCII大小写不敏感匹配项。”——源
这意味着在HTML5中没有_new这样的关键字,在HTML4(因此XHTML)中也没有。这意味着,如果将此作为目标属性的值,将不会有一致的行为。
安全建议
正如Daniel和Michael在评论中指出的,当使用targe_blank指向一个不可信的网站时,你应该另外设置rel="noopener"。这可以防止打开站点通过JavaScript干扰打开器。更多信息请看这篇文章。
使用target="_blank"将指示浏览器在用户单击链接时创建一个新的浏览器选项卡或窗口。
根据规范,使用target="_new"在技术上是无效的,但据我所知,每个浏览器都会以相同的方式运行:
它将搜索上下文名为"_new"的选项卡或窗口 如果找到一个“_new”选项卡/窗口,那么URL会被加载进去 如果没有找到,则创建一个新的选项卡/窗口,上下文名为“_new”,并将URL加载到其中
注意target="_new"的行为与target="new"完全相同,后者是有效的HTML,而前者是无效的HTML。
更令人困惑的是,在HTML4中target属性已弃用。在HTML5中,这个决定被推翻了,它再次成为规范的正式组成部分。不管你使用的是什么版本的HTML,所有的浏览器都支持target,但是如果你的文档类型是HTML4,一些验证器会将target标记为不赞成使用。
Target ="_blank"在大多数浏览器中打开一个新标签。
推荐文章
- 向HTML表中添加水平滚动条
- 在notepad++中格式化代码
- 表单中包含表单,可以吗?
- 如何创建表只使用<div>标签和Css
- html5 - canvas元素-多层
- 如何确保<select>表单字段被禁用时提交?
- 如何在HTML文本换行?
- 如何在JavaScript中转义单引号(')?
- 如何使用HTML/CSS在文本中插入空格/制表符
- 用背景图像填充SVG路径元素
- 将JSON显示为HTML
- HTML被认为是一种编程语言吗?
- 如何修复favicon.ico错误:“Failed to load resource: net::ERR_EMPTY_RESPONSE”
- 这个CSS是如何产生一个圆的?
- 我如何显示点(“…”)在一个跨度与隐藏溢出?