Ver código fonte

added ubuntu to ua-parser

Signed-off-by: Gerald <gera2ld@163.com>
Gerald 10 anos atrás
pai
commit
67d7cdcbca
5 arquivos alterados com 19 adições e 19 exclusões
  1. 2 8
      README.md
  2. 1 1
      dist/duoshuo-ua-with-css.min.js
  3. 1 1
      dist/duoshuo-ua.min.js
  4. 4 9
      src/ua-parser.js
  5. 11 0
      test/tests.js

+ 2 - 8
README.md

@@ -12,7 +12,6 @@
 可以通过bower安装:
 
 ``` sh
-$ npm install bower
 $ bower install duoshuo-ua
 ```
 
@@ -54,15 +53,10 @@ duoshuoQuery中可以定义`myIds`和`getUAString`函数:
 </html>
 ```
 
-注:
-
-1. `dist/duoshuo-ua-with-css.min.js`是压缩后的代码,集成了CSS,无需单独加载CSS文件,也可使用`dist/duoshuo-ua.min.js`和`dist/duoshuo-ua.min.css`或自定义的样式。
-1. 此分支使用`Object.defineProperty`,仅支持IE9+,如需支持IE8-可参考Compatible分支。
-1. 默认的UA解析比较简单,如有较高要求,可使用<https://github.com/faisalman/ua-parser-js>,参考[examples/faisalman.html](examples/faisalman.html)。
-
+更高级的例子见examples。[点此](http://gerald.top/code/duoshuo-ua)查看更多说明。
 
 案例
 ---
 
-1. 我的网站:<http://gerald.top/code/duoshuo-ua>
+1. 我的网站:<http://gerald.top>
 1. 在线工具:<http://www.atool.org>

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
dist/duoshuo-ua-with-css.min.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
dist/duoshuo-ua.min.js


+ 4 - 9
src/ua-parser.js

@@ -52,7 +52,7 @@
 			[/(Android) ?([^; )]*)/i,
 				[NAME, VERSION, [CLASS, 'android']]],
 			// Linux
-			[/(Linux)/i,
+			[/(Ubuntu|Linux)/i,
 				[NAME, [CLASS, 'linux']]],
 			[/()/i,
 				[[NAME, '山寨操作系统'], [CLASS, 'other']]],
@@ -63,14 +63,9 @@
 				[NAME, VERSION]],
 			[[/(OPR)\/(\S+)/i, /(Presto)\/.*?Version\/(\S+)/i],
 				[[NAME, 'Opera'], VERSION]],
-			[[
-				// Maxthon
-				/(Maxthon)\/(\S+)/i,
-				// Vivaldi
-				/(Vivaldi)\/(\S+)/i,
-				// Chrome
-				/(Chrome)\/(\S+)/i,
-			], [NAME, VERSION]],
+			// Chromium based browsers
+			[/(Maxthon|Vivaldi|Chrome)\/(\S+)/i,
+				[NAME, VERSION]],
 			// UC/QQ
 			[/(UC|QQ)Browser\/(\S+)/i,
 				[[NAME, mapper.reg, [/$/, '浏览器']], VERSION]],

+ 11 - 0
test/tests.js

@@ -3,3 +3,14 @@ QUnit.test('User agent: Opera', function (assert) {
 	assert.ok(UAParser.getString(res.os) == 'Windows 8.1', 'OS passed.');
   assert.ok(UAParser.getString(res.browser) == 'Opera 28.0.1750.48', 'Browser passed.');
 });
+
+QUnit.test('User agent: Ubuntu Firefox', function(assert) {
+	var res = UAParser.parse('Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0');
+	assert.ok(UAParser.getString(res.os) == 'Ubuntu', 'OS passed.');
+	assert.ok(UAParser.getString(res.browser) == 'Firefox 38.0', 'Browser passed.');
+});
+
+QUnit.test('User agent: Maxthon', function(assert) {
+	var res = UAParser.parse('Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.5.3000 Chrome/30.0.1599.101 Safari/537.36');
+	assert.ok(UAParser.getString(res.browser) == 'Maxthon 4.4.5.3000', 'Browser passed.');
+});