领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

js实现超级链接从新标签打开?

nixiaole 2024-11-22 18:52:57 知识剖析 24 ℃

我的编辑器用的是editor.md,但是有个缺点就是,插入的a链接不能从新标签打开,为了实现超链接从新标签打开,我还是费了几分钟的功夫的,下面是实现方式。



实现效果:点击查看

实现逻辑:当editormd初始化后,利用js获取a标签,并加上_target='blank'

代码

<script>
    //markdown 转换 js代码
    $(function () {
        var testEditormdView, testEditormdView2;
        testEditormdView2 = editormd.markdownToHTML("test-editormd", {
            htmlDecode: "style,script,iframe",  // you can filter tags decode
            emoji: true,
            taskList: true,
            tex: true,  // 默认不解析
            flowChart: true,  // 默认不解析
            sequenceDiagram: true,  // 默认不解析
        });
        //新窗口打开
        //var links = document.links;
        var links = $("#test-editormd a");
        console.log(links)
        for (var i = 0; i < links.length; i++) {
//        if (links[i].hostname != window.location.hostname) {
//            links[i].target = '_blank';
//        }
            links[i].target = '_blank';
            console.log(links[i])
        }
    });


</script>

以上代码有部分冗余,其实是实现了2途径,大家可以选择合适的,然后删除其他的代码。

最近发表
标签列表