Showdown 解析a标签打开新的标签页

Showdown 转换器默认情况下并不会将 Markdown 中的链接转换为在新标签页打开(即加上 target=“_blank” 属性)。如果你想让所有的链接在新标签页中打开,你需要自己扩展 Showdown 的功能或者在转换后手动修改链接。

下面是一个如何使用 Showdown 的扩展 API 来创建这样的扩展的示例:

1.创建扩展

首先,你需要创建一个 Showdown 的扩展,这个扩展会查找所有的 a 标签并给它们添加 target=“_blank” 属性:

 showdown.extension('targetBlank', function() {
 return [{
   type: 'html',
   filter: function(text) {
     return text.replace(/<a href=/g, '<a target="_blank" href=');
   }
 }];
});

2.注册扩展

将这个扩展注册到 Showdown 转换器中:

var converter = new showdown.Converter({
  extensions: ['targetBlank']
});

3.转换 Markdown

现在,当你使用这个转换器将 Markdown 转换为 HTML 时,所有的链接都会在新的标签页中打开:

var markdown = "[Showdown](https://github.com/showdownjs/showdown)";
var html = converter.makeHtml(markdown);

4.插入到页面中

将转换后的 HTML 插入到页面中:

document.getElementById(‘content’).innerHTML = html;
这样,所有通过 Showdown 转换器生成的链接都会默认在新标签页打开。需要注意的是,这种方式会对所有通过该转换器实例生成的 a 标签生效,如果你想要对特定的链接应用不同的行为(例如,某些链接不打开新标签页),你可能需要一个更复杂的扩展逻辑或者在生成 HTML 后通过其他脚本进行处理。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值