Showdown 转换器默认情况下并不会将 Markdown 中的链接转换为在新标签页打开(即加上 target="_blank" 属性)。如果你想让所有的链接在新标签页中打开,你需要自己扩展 Showdown 的功能或者在转换后手动修改链接。
下面是一个如何使用 Showdown 的扩展 API 来创建这样的扩展的示例:
1.创建扩展
首先,你需要创建一个 Showdown 的扩展,这个扩展会查找所有的 a 标签并给它们添加 target="_blank" 属性:
```javascript
showdown.extension('targetBlank', function() {
return [{
type: 'html',
filter: function(text) {
return text.replace(/<a href=/g, '<a target="_blank" href=');
}
}];
});
```
2.注册扩展
将这个扩展注册到 Showdown 转换器中:
```JavaScript
var converter = new showdown.Converter({
extensions: ['targetBlank']
});
```
3.转换 Markdown
现在,当你使用这个转换器将 Markdown 转换为 HTML 时,所有的链接都会在新的标签页中打开:
```javascript
var markdown = "[Showdown](https://github.com/showdownjs/showdown)";
var html = converter.makeHtml(markdown);
```
4.插入到页面中
将转换后的 HTML 插入到页面中:
document.getElementById('content').innerHTML = html;
这样,所有通过 Showdown 转换器生成的链接都会默认在新标签页打开。需要注意的是,这种方式会对所有通过该转换器实例生成的 a 标签生效,如果你想要对特定的链接应用不同的行为(例如,某些链接不打开新标签页),你可能需要一个更复杂的扩展逻辑或者在生成 HTML 后通过其他脚本进行处理。
博客描述
Showdown 转换器默认情况下并不会将 Markdown 中的链接转换为在新标签页打开(即加上 target="_blank" 属性)。