空白“与目标=”

<a target="_new"><a target="_blank">如果我只想在新的标签页/窗口中打开链接,应该使用哪一种?


使用“_blank”

根据HTML5规范:

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

有效的浏览上下文名称或关键字是任何字符串,它可以是有效的浏览上下文名称,也可以是对_blank,_self,_parent或_top之一进行ASCII不区分大小写的匹配。“ - 来源

这意味着在HTML5中不存在像_new这样的关键字,也不在HTML4中(因此也不在XHTML中)。 这意味着,如果您将此用作目标属性的值,则不会有任何一致的行为。

安全建议

正如丹尼尔和迈克尔在评论中指出的那样,当使用target _blank指向一个不可信任的网站时,你应该另外设置rel="noopener" 。 这可以防止开放网站通过JavaScript混淆opener。 看到这个职位了解更多信息。


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

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

  • 它将搜索带有上下文名称“_new”的选项卡或窗口
  • 如果找到“_new”选项卡/窗口,则将URL加载到其中
  • 如果未找到,则使用上下文名称“_new”创建一个新的选项卡/窗口,并将URL加载到该选项卡/窗口中
  • 注意target="_new"行为与target="new"行为完全相同,而后者是有效的HTML,而前者是无效的HTML。

    添加一些混淆,在HTML4中, target属性已被弃用。 在HTML5中,这个决定被颠倒过来了,它又是规范的官方部分。 无论您使用的是何种HTML版本,所有浏览器都支持target ,但如果您的文档类型为HTML4,则某些验证程序会将该使用标记为已弃用。


    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会在“framename”下面出现的,所以如果用户重新点击该超链接,它将不会打开新的选项卡,而是更新现有的选项卡。 而在_blank中,如果用户单击两次,则会打开2个新选项卡。

    链接地址: http://www.djcxy.com/p/20165.html

    上一篇: blank" vs. target="

    下一篇: Markdown open a new window link