【问题标题】:Open new tab on link markdown在链接降价上打开新标签
【发布时间】:2017-02-22 22:17:18
【问题描述】:

上下文

我目前正在 Stack Overflow 上制作我的开发者故事。我添加了一些开源项目,并在描述中添加了一个链接。

问题

我试图让当您单击生物中的链接时,该链接会在新的tab/window 中打开。我搜索并找到了三种方法:

First way:

[my link](https://myawesome.link)[newtab]

Second way:

[my link](https://myawesome.link){:target="_blank"}

Third way:

<a href="https://myawesome.link" target="_blank">my link</a>

我尝试了这三种方法,但没有任何效果。

问题

所以我的问题是,有可能这样做吗?

如果可能的话,我该怎么做?

【问题讨论】:

  • 可能不是全部,但SO markdown 可能不支持目标。

标签: markdown


【解决方案1】:

在创建 Markdown 时,XHTML 是新的热点,XHTML 不允许在元素中使用 target 属性。因此,Markdown 没有获得对 target 的内置支持(可能还有其他促成该设计决策的因素)。

[my link](https://myawesome.link)[newtab] 是某人试图提出一项克服该限制的建议。我不知道任何采用此提案的 Markdown 实现。如果有,那将是非标准且不可移植的。

属性列表 ([my link](https://myawesome.link){:target="_blank"}) 也是非标准的,据我所知,只有许多 Markdown 实现中的三个都采用了。即使这样,它们通常默认关闭。您需要查阅您正在使用的实现的文档以查看它是否受支持,如果支持,如何打开该功能。

当然,原始 HTML (&lt;a href="https://myawesome.link" target="_blank"&gt;my link&lt;/a&gt;) 在 Markdown 中总是可以接受的。但正如您链接到的答案中所解释的那样:

然后,无论如何,他们都会通过 HTML 白名单过滤器运行整个输出,因为即使是仅 Markdown 的文档也很容易包含 XSS 攻击。

我希望 StackExchange(包括 StackOverflow)以及许多其他网站都是这种情况。为了更好地理解人们为什么不喜欢 target(以及为什么它在 XHTML 中无效),请阅读该问题的一些答案:Is it alright to use target=“_blank” in HTML5?

简而言之,似乎由于 XHTML 使其无效,因此支持比 HTML4 时代要少得多。诚然,HTML5 规范将它带回来了,但它似乎不再像以前那样得到广泛的支持了。

最好的答案是使用原始 HTML,如果这不起作用(您正在使用的服务将其删除)接受它是不可能的。

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多