一直有同学在问,使用Typecho的Markdown编辑器发布文章时,如何给链接增加target="_blank"属性,当然,markdown编辑器提供了写法,可以这样写

[链接文本](链接地址?_blank)

  但是typecho的Markdwon编辑器默认链接是这个样子的

[链接文本][1]
[1]: http://example.com

  如果新窗口打开用上面的写法,虽然能实现效果,但是也破坏了mardkown源码优雅的可阅读性,总感觉有一个链接不一样看着怪怪的。所以,我们可以换个思路解决这个问题,用JS选择站外链接然后添加target="_blank"属性,这样在写文章时就不用考虑这个问题了,也可以用JS选择某个ID,某个类下的DIV标签内的链接添加target="_blank"属性,比如正文常用的类名为content。

可以在footer.php中加入如下代码:

<script type="text/javascript">
    $(document).on('click','a',function(){
    var url = this.href,hash='';
    if(url.indexOf('#')>-1){
        hash = !!url.split('#')[1] ? '#' + url.split('#')[1] :'';
        url = url.split('#')[0];       
    }
    if(url && url.substr(0,4) == 'http' && url.indexOf('todsay.com')<0 ) {
        this.href = url.indexOf('?') > -1 ? url+'&utm_source=todsay.com'+hash:url+'?utm_source=todsay.com'+hash;
        this.setAttribute('target', '_blank');
    }
    })
</script>

  将todsay.com替换为你的域名。

  参考文章:jQuery外链新窗口打开

最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏