首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >让多说支持UA的显示

让多说支持UA的显示

作者头像
老高的技术博客
发布2022-12-28 09:13:18
发布2022-12-28 09:13:18
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

代码由 huhuhuhu 提供

地址 huhu呼呼 / Make DUOSHUO Show UA

老高的博客目前的评论系统使用了 多说 + typecho多说插件,最近才发现了多说还可以支持显示UA,动手吧。

准备工作

CSS

CSS很短,可以直接写在源码里

代码语言:javascript
代码运行次数:0
运行
复制
span.this_ua {
    background-color: #ccc!important;
    border-radius: 4px;
    padding: 0 5px!important;
    margin: 0 1px!important;
    border: 1px solid #BBB!important;
    color: #fff;

    /*text-transform: Capitalize!important;
    float: right!important;
    line-height: 18px!important;*/
}
.this_ua.platform.Windows{
    background-color: #39b3d7!important;
    border-color: #46b8da!important;
}
.this_ua.platform.Linux {
    background-color: #3A3A3A!important;
    border-color: #1F1F1F!important;
}
.this_ua.platform.Android {
    background-color: #00C47D!important;
    border-color: #01B171!important;
}
.this_ua.browser.Chrome{
    background-color: #5cb85c!important;
    border-color: #4cae4c!important;
}
.this_ua.browser.Firefox{
    background-color: #f0ad4e!important;
    border-color: #eea236!important;
}
.this_ua.browser.IE{
    background-color: #428bca!important;
    border-color: #357ebd!important;
}
.this_ua.browser.Opera{
    background-color: #d9534f!important;
    border-color: #d43f3a!important;
}

Make-DUOSHUO-Show-UA

很多同学发现显示有问题

代码语言:javascript
代码运行次数:0
运行
复制
<!--多说UA显示|此段js必须放在加载embed.js之后,运行显示评论代码之前[start]-->
<script type="text/javascript">
            if (typeof DUOSHUO !== 'undefined')hookDUOSHUO_tp();
            else $('[src="http://static.duoshuo.com/embed.js"]')[0].onload=hookDUOSHUO_tp;
            function hookDUOSHUO_tp(){
                var _D_post=DUOSHUO.templates.post
                DUOSHUO.templates.post=function (e,t){
                    var rs=_D_post(e,t);
                    if(e.post.agent&&/^Mozilla/.test(e.post.agent))rs=rs.replace(/<\/div><p>/,show_ua(e.post.agent)+'</div><p>');
                    return rs;
                }
            }
            function show_ua(string){
                console.log(string)
                $.ua.set(string);
                var sua=$.ua;
                if(sua.os.version=='x86_64')sua.os.version='x64';
                return '<span class="this_ua platform '+sua.os.name+'">'+sua.os.name+' '+sua.os.version+'</span><span class="this_ua browser '+sua.browser.name+'">'+sua.browser.name+'|'+sua.browser.version+'</span>';
            }
</script>

jquery

这个不用说了吧!下载1.X的都行。

ua-parser-js

判断UA的jquery的插件

ua-parser-js

合并后的js

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript">
            var duoshuoQuery = {short_name:"phpgao"};
            (function() {
                var ds = document.createElement('script');
                ds.type = 'text/javascript';ds.async = true;
                ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
                ds.charset = 'UTF-8';
                (document.getElementsByTagName('head')[0]
                || document.getElementsByTagName('body')[0]).appendChild(ds);
            })();

            if (typeof DUOSHUO !== 'undefined')hookDUOSHUO_tp();
            else $('[src="http://static.duoshuo.com/embed.js"]')[0].onload=hookDUOSHUO_tp;
            function hookDUOSHUO_tp(){
                var _D_post=DUOSHUO.templates.post
                DUOSHUO.templates.post=function (e,t){
                    var rs=_D_post(e,t);
                    if(e.post.agent&&/^Mozilla/.test(e.post.agent))rs=rs.replace(/<\/div><p>/,show_ua(e.post.agent)+'</div><p>');
                    return rs;
                }
            }
            function show_ua(string){
                console.log(string)
                $.ua.set(string);
                var sua=$.ua;
                if(sua.os.version=='x86_64')sua.os.version='x64';
                return '<span class="this_ua platform '+sua.os.name+'">'+sua.os.name+' '+sua.os.version+'</span><span class="this_ua browser '+sua.browser.name+'">'+sua.browser.name+'|'+sua.browser.version+'</span>';
            }
</script>

<div class="ds-thread" data-thread-key="<?php echo $this->cid;?>" data-title="<?php echo $this->title;?>" data-author-key="<?php echo $this->authorId;?>" data-url=""></div>

最后的操作

将CSS、js引入头部header.php

再将多说的js引入comments.php

完!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • CSS
    • Make-DUOSHUO-Show-UA
  • jquery
  • ua-parser-js
  • 合并后的js
  • 最后的操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档