markdown超链接不能在新窗口打开的解决办法

该文章发布于 ,归类于 Javascript 0 条评论

markdown添加超链接方式为

[title](href)

默认链接是不能在新窗口打开的,那么,如果想让链接在新窗口打开,应该如何实现呢?

我是使用js来解决该问题。通过在href中添加参数,用js来检测参数,然后执行添加target="_blank"从而达到新窗口打开的目的。

例如,添加一个超链接

[我是超链接](http://www.example.com:_blank)

通过添加:_blank参数,然后生成了<a href="http://www.example.com:_blank">我是超链接</a>该种形式的链接,然后再在前端用js执行检测替换即可实现需求。

jQuery的实现方式

$("a").each(function(){
    var href = $(this).attr("href");
    if(href.indexOf(":_blank") > -1) $(this).attr("target","_blank").attr("href", href.replace(":_blank", ""));
});

原生js实现方式

var aTags = Array.prototype.slice.apply(document.getElementsByTagName("a"));
aTags.forEach(function(el) {
  if(el.href.indexOf(":_blank") > -1) {
    el.target = "_blank";
    el.href = el.href.replace(":_blank", "");
  }
});

当然,还有一个简单粗暴的解决方案,就是手写a标签,手动添加target="_blank",这样也可以达到最终目的。

相关文章