一直有同学在问,使用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外链新窗口打开