博文中添加链接如果没有写入"_blank"的话,链接是默认在当前窗口打开的,这样子你要继续看博文的话只能回退页面,非常不方便,此问题我遇上了,因此找了一些大佬分享的方法,谨此记录下来。

方法一:修改Typecho文件

在 varCommonMarkHtmlRenderer.php 的104行,是处理超级链接部分的代码,我们只要添加一行$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')));

方法二:修改主题文件

在当前主题模板下Hrader.PHP文件的<head>标签中添加<base target="_blank"/>代码即可,如下图:

小结

以上方法可使超链接在新窗口打开,不过方法二每次更换主题模板的话,就需要去修改一次Header.php文件,而方法一只需要修改一次即可一劳永逸。

文 / 官仁 2019/01/12