美文网首页Hexo程序员Hexo
多说插件利用ua-parser-js插件显示浏览器和操作系统版本

多说插件利用ua-parser-js插件显示浏览器和操作系统版本

作者: seay | 来源:发表于2016-05-18 18:56 被阅读650次
图文无关/图片来自网络

前言

博客接入了评论系统,使用的是国内的多说评论插件

之前看到过有些利用该评论系统的有浏览器和系统信息的显示,感觉很不错。

所以,也想有这样的效果。

实现方式

经过一番搜索,可以使用UAParser.js插件来实现。

实现步骤

1. 添加样式

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;}
.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;}

可以新建一个css文件,在页面中添加引用。

如自定义显示颜色css请加.this_ua.platform.相关名称(注意大小写)。

2. 添加js代码

这段代码最好放在多说js代码之后,可以放在多说js的下面。

下面两段代码根据需要选择。

正常加载使用这段代码:

<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.agent&&/^Mozilla/.test(e.agent))rs=rs.replace(/<\/div><p>/,show_ua(e.agent)+'</div><p>');
          return rs;
      }
  }
  function show_ua(string){
      $.ua.set(string);
      var sua=$.ua;
      if(sua.os.version=='x86_64')sua.os.version='x64';
      return '<span class="this_ua browser '+sua.browser.name+'">'+sua.browser.name+' | '+sua.browser.version+'</span>'+'<span class="this_ua platform '+sua.os.name+'">'+sua.os.name+' '+sua.os.version+'</span>';
  }
  </script>

无刷新加载的请使用下面代码:

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

3. 引入ua-parser.js库

<script src="http://faisalman.github.io/ua-parser-js/src/ua-parser.js"></script>

可以将库文件下载到本地添加到主题中。

要先引入jquery库文件。

引入的ua-parser.js库文件必须在多说embed.js之后。

推荐加载多说js代码中:

<script type="text/javascript">
  var duoshuoQuery = {short_name:"<%= theme.duoshuo_shortname %>"};
  (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);
    ds = document.createElement('script');
    ds.type = 'text/javascript';ds.async = true;
    ds.src = 'http://faisalman.github.io/ua-parser-js/src/ua-parser.js';
    ds.charset = 'UTF-8';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ds);
  })();
</script >

效果图

多说显示浏览器和系统信息效果图

好了,本文就介绍到这里。
如有疑问,或者是有更好的方法,欢迎随时联系我。

本文采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
基于简书上的作品创作。 可转载、引用,但需经本人同意后署名作者且注明文章出处,并以相同方式共享。

知识共享许可协议知识共享许可协议

相关文章

  • 多说插件利用ua-parser-js插件显示浏览器和操作系统版本

    前言 博客接入了评论系统,使用的是国内的多说评论插件。 之前看到过有些利用该评论系统的有浏览器和系统信息的显示,感...

  • 软件推荐

    浏览器 Chrome 镜像 浏览器相关插件 IDE Sublime Text 3 及相关插件 代码版本控制 Git...

  • QGIS在InSAR图像中的应用

    * 所用QGIS版本为2.18 下载底图 1. 利用QMS插件 需要先在 插件 ——管理并安装插件 中添加相关插件...

  • HTML 音频

    使用插件 浏览器插件是一种扩展浏览器标准功能的小型计算机程序。 插件有很多用途:播放音乐、显示地图、验证银行账号,...

  • 【rabbitMQ】rabbitMQ插件

    该命令,显示所有的插件,它们的版本号,依赖关系和描述。 显示的每个插件内容的前缀是在 [] 内加上两种状态指示符:...

  • 【Android】 gradle插件版本和gradle版本对应关

    gradle插件版本和gradle版本对应关系Gradle手动下载 1. gradle插件版本和gradle版本对...

  • firefox

    安装完成火狐浏览器之后需要去下载插件 利用火狐浏览器插件发送网络请求 参考资料http://www.360doc....

  • 减少插件中的重复代码 :SpaceVim APIs

    为什么需要APIs? 在制作插件时为了使的插件兼容新老版本的Vim,以及兼容不同的操作系统,会在插件中写一些兼容性...

  • 2021-11-03

    vscode版本1.61.2插件和配置,插件:BeautifyBookmarksBracket Pair Colo...

  • maven插件(2)maven release插件 自动发布版本

    1. release插件完成自动发布 在maven—多模块项目 利用Maven插件修改工程版本号[https://...

网友评论

  • seay:你看下post文件夹下有没有新建的文章,另外没有错误信息吗
  • 文若_:你好,请问利用hexo new 文件名 新建文章以后,完成以后,hexo g和hexo d 以后,博客上没有出现该文章是怎么回事?

本文标题:多说插件利用ua-parser-js插件显示浏览器和操作系统版本

本文链接:https://www.haomeiwen.com/subject/cpmwrttx.html