markdown生成的a标签如何在新页面打开

用markdown语法写的文章,文章内含链接,解析则是使用marked来解析,想请问,如何才能把markdown的链接语法解析成带有target="_blank"的a标签呢?

阅读 7.9k
3 个回答

这个其实跟markdown没太大关系。markdown只是标记,至于属性和样式完全由解析器决定,可能换一个markdown解析器产生的html就不一样了。

如果你非要期望产生的a标签一定有那个属性,那么可以嵌入html标签,这个在markdown是支持的。

see: https://stackoverflow.com/que...

这个我正好写过。。
<!--此处为markdown的内容 -->

    <div id="rightcontent"></div>  

// 给所有没有target属性的 a 标签加上一个target。

            $("#rightcontent").find("a").each(function () {
                if ($(this).attr("target") !== "_blank") {

                    $(this).attr('target', '_blank');
                }
            });

需要用到Jquery就是了。那个rightcontent就是你的markdown的内容绑定的标签。

新手上路,请多包涵

重新配置规则

// markdown 解析器
var renderer = new marked.Renderer();`
// 重写解析规则
renderer.link = function (href, title, text) {
    return <a href="${href}" title="${text}" target="_blank">${text}</a>;
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏