广告投放

Typecho Handsome主题添加评论者浏览器标识

目录

这里以Handsome主题为例,其他的主题请自行调整一下。

之前也发布过一个《Typecho 博客评论显示 UserAgent (UA)》的教程,基本差不多,这里没有用到下载图标,而是直接应用bootcss的矢量。

教程

添加以下的代码到 functions.php 文件末尾

/** 获取浏览器信息 */
function getBrowser($agent)
{ $outputer = false;
    if (preg_match('/MSIE\s([^\s|;]+)/i', $agent)) {
        $outputer = '<i></i> IE浏览器';
    } else if (preg_match('/FireFox\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> 火狐浏览器';
    } else if (preg_match('/Maxthon([\d]*)\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> 傲游浏览器';
    } else if (preg_match('#SE 2([a-zA-Z0-9.]+)#i', $agent)) {
        $outputer = '<i></i> 搜狗浏览器';
    } else if (preg_match('#360([a-zA-Z0-9.]+)#i', $agent)) {
        $outputer = '<i></i> 360浏览器';
    } else if (preg_match('/Edge([\d]*)\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> Edge';
    } else if (preg_match('/EdgiOS([\d]*)\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> Edge';
    } else if (preg_match('/UC/i', $agent)) {
        $outputer = '<i></i> UC浏览器 ';
    }else if (preg_match('/OPR/i', $agent)) {
        $outputer = '<i></i> 欧朋浏览器';
    } else if (preg_match('/MicroMesseng/i', $agent)) {
        $outputer = '<i></i> 微信内嵌浏览器';
    }  else if (preg_match('/WeiBo/i', $agent)) {
        $outputer = '<i></i> 微博内嵌浏览器';
    }  else if (preg_match('/QQ/i', $agent)||preg_match('/QQBrowser\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> QQ浏览器';
    } else if (preg_match('/MQBHD/i', $agent)) {
        $outputer = '<i></i> QQ浏览器 ';
    } else if (preg_match('/BIDU/i', $agent)) {
        $outputer = '<i></i> 百度浏览器';
    } else if (preg_match('/LBBROWSER/i', $agent)) {
        $outputer = '<i></i> 猎豹浏览器';
    } else if (preg_match('/TheWorld/i', $agent)) {
        $outputer = '<i></i> 世界之窗浏览器';
    } else if (preg_match('/XiaoMi/i', $agent)) {
        $outputer = '<i></i> 小米浏览器';
    } else if (preg_match('/UBrowser/i', $agent)) {
        $outputer = '<i></i> UC浏览器 ';
    } else if (preg_match('/mailapp/i', $agent)) {
        $outputer = '<i></i> email内嵌浏览器';
    } else if (preg_match('/2345Explorer/i', $agent)) {
        $outputer = '<i></i> 2345浏览器';
    } else if (preg_match('/Sleipnir/i', $agent)) {
        $outputer = '<i></i> 神马浏览器';
    } else if (preg_match('/YaBrowser/i', $agent)) {
        $outputer = '<i></i> Yandex浏览器';
    }  else if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent)) {
        $outputer = '<i></i> Opera浏览器';
    } else if (preg_match('/MZBrowser/i', $agent)) {
        $outputer = '<i></i> 魅族浏览器';
    } else if (preg_match('/VivoBrowser/i', $agent)) {
        $outputer = '<i></i> vivo浏览器';
    } else if (preg_match('/Quark/i', $agent)) {
        $outputer = '<i></i> 夸克浏览器';
    } else if (preg_match('/mixia/i', $agent)) {
        $outputer = '<i></i> 米侠浏览器';
    }else if (preg_match('/fusion/i', $agent)) {
        $outputer = '<i></i> 客户端';
    } else if (preg_match('/CoolMarket/i', $agent)) {
        $outputer = '<i></i> 基安内置浏览器';
    } else if (preg_match('/Thunder/i', $agent)) {
        $outputer = '<i></i> 迅雷内置浏览器';
    } else if (preg_match('/Chrome([\d]*)\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> Chrome ';
    } else if (preg_match('/safari\/([^\s]+)/i', $agent)) {
        $outputer = '<i></i> Safari';
    } else{
        return false;
    }
   return $outputer;
}
/** 获取操作系统信息 */
function getOs($agent)
{
    $os = false;
 
    if (preg_match('/win/i', $agent)) {
        if (preg_match('/nt 6.0/i', $agent)) {
            $os = '<i></i> Windows Vista';
        } else if (preg_match('/nt 6.1/i', $agent)) {
            $os = '<i></i> Windows 7';
        } else if (preg_match('/nt 6.2/i', $agent)) {
            $os = '<i></i> Windows 8';
        } else if(preg_match('/nt 6.3/i', $agent)) {
            $os = '<i></i> Windows 8.1';
        } else if(preg_match('/nt 5.1/i', $agent)) {
            $os = '<i></i> Windows XP';
        } else if (preg_match('/nt 10.0/i', $agent)) {
            $os = '<i></i> Windows 10';
        } else{
            $os = '<i></i> Windows';
        }
    } else if (preg_match('/android/i', $agent)) {
if (preg_match('/android 9/i', $agent)) {
        $os = '<i></i> Android P';
    }
else if (preg_match('/android 8/i', $agent)) {
        $os = '<i></i> Android O';
    }
else if (preg_match('/android 7/i', $agent)) {
        $os = '<i></i> Android N';
    }
else if (preg_match('/android 6/i', $agent)) {
        $os = '<i></i> Android M';
    }
else if (preg_match('/android 5/i', $agent)) {
        $os = '<i></i> Android L';
    }
else{
        $os = '<i></i> Android';
}
    }
 else if (preg_match('/ubuntu/i', $agent)) {
        $os = '<i></i> Linux';
    } else if (preg_match('/linux/i', $agent)) {
        $os = '<i></i> Linux';
    } else if (preg_match('/iPhone/i', $agent)) {
        $os = '<i></i> iPhone';
    } else if (preg_match('/iPad/i', $agent)) {
        $os = '<i></i> iPad';
    } else if (preg_match('/mac/i', $agent)) {
        $os = '<i></i> OSX';
    }else if (preg_match('/cros/i', $agent)) {
        $os = 'chrome os';
    }else {
 return false;
    }
   return $os;
}

然后修改 component 目录下的 comments.php 文件

<span class="comment-author vcard"><b class="fn"><?php echo $author; ?></b><?php echo $Identity; ?></span>

在以上代码的后面添加:

<span><?php echo getOs($comments->agent); ?></span>
<span><?php echo getBrowser($comments->agent); ?></span>

然后在主题设置自定义css添加

.agent {
    display: inline-block;
    margin-left: 5px;
    padding: 0 3px;
    border-radius: 2px;
    color: #58666e;
    font-size: 12px;
    opacity: .8
}

最后在 head 头部引入 css 文件

<link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
广告位招租919838898
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索