duoshuo-ua-parser.min.js 3.0 KB

12345678
  1. /**
  2. * Duoshuo UA Plugin - 集成版
  3. * 此版本集成轻量级的ua-parser但不集成CSS,提供默认的UA显示方案
  4. * @version v1.0.5
  5. * @license MIT
  6. * @author Gerald <gera2ld@163.com>
  7. */
  8. !function(){function r(r){return""}function n(r,n){s||(s=duoshuoQuery.myIds||[],s.slice||(s=[s]),s.reverse());var i=n[0];1==n.length&&(i=i.post),r.agent=i.agent,r.webmaster=0;for(var e=i.author_id,t=s.length;t--;)if(s[t]==e){r.webmaster=e;break}}function i(n,i){var e=n.result,t=e.indexOf('<div class="ds-comment-header">'),o=e.indexOf("</div>",t),s=duoshuoQuery.getUAString||a.getUAString||r;n.result=e.slice(0,o)+s.call(a,n)+e.slice(o)}function e(){var r=DUOSHUO.templates.post;DUOSHUO.templates.post=function(){var e={},t=arguments;return n.call(this,e,t),e.result=r.apply(this,t),i.call(this,e,t),e.result}}function t(r,n,i){function e(){var r=i;r&&(i=null,r())}var t;r[n]?e():Object.defineProperty(r,n,{get:function(){return t},set:function(r){t=r,e()},configurable:!0})}function o(r,n,i){function e(){t(r,o,function(){r=r[o],(o=n.shift())?e():i()})}var o=n.shift();e()}var s,a=this;o(window,["DUOSHUO","templates","post"],e),!function(r,n){function i(r,n){var i={};return n.forEach(function(n,e){var t=r[e+1];Array.isArray(n)?"function"==typeof n[1]?i[n[0]]=n[1](t,n[2]):i[n[0]]=n[1]:i[n]=t}),i}function e(r){var n=r.name;return r.version&&(n+=" "+r.version),n}function t(r){var n={};for(var e in d)d[e].some(function(t){var o=t[0],s=t[1];return Array.isArray(o)||(o=[o]),o.some(function(t){var o=r.match(t);return o?(n[e]=i(o,s),!0):void 0})});return n}var o={reg:function(r,n){return r.replace(n[0],n[1])},str:function(r,n){return r in n?n[r]:n[""]},ieVer:function(r){return parseInt(r,10)+4}},s={winVer:{"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT","":"山寨版"}},a="name",u="version",c="cls",f=[c,"windows"],d={os:[[/(Windows Phone)(?: OS)? ?([^; )]*)/i,[a,u,f]],[/(Windows) ([^;)]*)/i,[a,[u,o.str,s.winVer],f]],[/\b(Windows)\b/i,[a,[u,"超级山寨版"],f]],[/(iPhone|iPod|iPad|Mac OS X)/i,[a,[c,"mac"]]],[/(Android) ?([^; )]*)/i,[a,u,[c,"android"]]],[/(Ubuntu|Linux)/i,[a,[c,"linux"]]],[/()/i,[[a,"山寨操作系统"],[c,"other"]]]],browser:[[/(Opera Mini)\/(\d+)/i,[a,u]],[[/(OPR)\/(\S+)/i,/(Presto)\/.*?Version\/(\S+)/i],[[a,"Opera"],u]],[/(Maxthon|Vivaldi)\/(\S+)/i,[a,u]],[/(Chrome)\/(\S+)/i,[a,u]],[/(UC|QQ)Browser\/(\S+)/i,[[a,o.reg,[/$/,"浏览器"]],u]],[/Version\/(\S+) .*?(Safari)\//i,[u,a]],[/(Firefox)\/(\S+)/i,[a,u]],[/MS(IE) (\d+)\.0/i,[[a,"Internet Explorer"],u]],[/(Trident)\/(\d+)\.0/i,[[a,"Internet Explorer"],[u,o.ieVer]]],[/()/i,[[a,"山寨浏览器"]]]]};r.UAParser={parse:t,getString:e}}(this),!function(r,n){var i=r.UAParser;r.getUAString=function(r){var n=i.parse(r.agent);return'<div class="ds-os">'+i.getString(n.os)+'</div><div class="ds-br">'+i.getString(n.browser)+"</div>"+(r.webmaster?"<div class=ds-webmaster>站长</div>":"")}}(this)}.call({});