简单修改Typecho 1.0文章中的超链接为新窗口打开

插件开发及发布

版主: woniou

回复
头像
boo
帖子: 14
注册时间: 2016年 1月 15日 01:38
联系:

简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 boo »

在 \var\CommonMark\HtmlRenderer.php 的104行,有以下一段代码:

代码: 全选

case CommonMark_Element_InlineElement::TYPE_LINK:
    $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
    if ($title = $inline->getAttribute('title')) {
        $attrs['title'] = $this->escape($title, true);
    }

    return $this->inTags('a', $attrs, $this->renderInlines($inline->getAttribute('label')));


这就是输出超级链接的部分,只要添加一行$attrs['target'] = '_blank';即可
将这一段修改为:

代码: 全选

    case CommonMark_Element_InlineElement::TYPE_LINK:
        $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
        if ($title = $inline->getAttribute('title')) {
            $attrs['title'] = $this->escape($title, true);
        }
$attrs['target'] = '_blank'; #这就是添加的那一行代码
        return $this->inTags('a', $attrs, $this->renderInlines($inline->getAttribute('label')));


效果见:http://boo.ooo/o11/
头像
ClayMore
帖子: 2481
注册时间: 2007年 11月 29日 02:55
来自: Sleeping Forest
联系:

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 ClayMore »

修改内核不利于以后升级


__________________

新版阿里百秀Alibaixiu主题 v11.1 For Typecho
http://xiu.160.me/
lamb1012
帖子: 2
注册时间: 2016年 1月 19日 11:23

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 lamb1012 »

点个赞 非常感谢 备用
头像
binjoo
帖子: 824
注册时间: 2009年 9月 11日 11:13
来自: digu.plus
联系:

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 binjoo »

js直接插入属性就行了,没必要去修改内核文件。
wujunze
帖子: 9
注册时间: 2015年 10月 16日 09:46

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 wujunze »

binjoo 写了:js直接插入属性就行了,没必要去修改内核文件。

怎么插入? 代码示例呢?
头像
kkou
帖子: 12
注册时间: 2016年 10月 14日 17:45
来自: https://softfly.site
联系:

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 kkou »

wujunze 写了:
binjoo 写了:js直接插入属性就行了,没必要去修改内核文件。

怎么插入? 代码示例呢?

可以参考我的网站
Dark
帖子: 2
注册时间: 2016年 10月 29日 10:53

Re: 简单修改Typecho 1.0文章中的超链接为新窗口打开

帖子 Dark »

代码: 全选

 $(document).ready(function(){
     $("a[href*='://']:not(a[href^='http://带www域名/'],a[href^='http://不带www域名/'])").attr({target:"_blank",rel:"nofollow"});
 });
回复