mumuy / browser

浏览器检测 - Useragent分析/浏览器识别/浏览器判断/UA解析/用户代理信息/Useragent analysis tool/Browser detection
https://passer-by.com/browser/
MIT License
1.5k stars 327 forks source link

希望支持模块化 #86

Closed DorothyGuan closed 3 months ago

DorothyGuan commented 3 months ago

看了下代码,目前信息是通过一个个loader分别解析出来再汇总的(https://github.com/mumuy/browser/blob/master/src/browser.js#L17 ),但某些场景下只需要部分信息,也就是只用到其中一个或几个loader,能否将每个loader模块export出来供调用呢?或者欢迎pr吗?

Qiulin-Git commented 3 months ago

我也希望能模块化,最起码 IP 和屏幕分辨率那些可以选择不要

1、获取IP用的WebRTC,获取到的IP也不一定是真正的外网IP,手机上获取到的IP大概率是内网IP,另外获取IP没有判断网络状态,当网络不在线或服务器连不上时执行会异常慢

2、目前获取可见屏幕 都是报错: chrome-extension://invalid/

mumuy commented 3 months ago

chrome-extension://invalid/

这个异常是为了判断某个特定浏览器,比如360SE

Qiulin-Git commented 3 months ago

chrome-extension://invalid/

这个异常是为了判断某个特定浏览器,比如360SE

我觉得如果出现这个错误是正常的,那应该用 try{ } catch (err){ console.log(err); } 去处理,不能在浏览器里看到报错才对

mumuy commented 3 months ago

chrome-extension://invalid/

这个异常是为了判断某个特定浏览器,比如360SE

我觉得如果出现这个错误是正常的,那应该用 try{ } catch (err){ console.log(err); } 去处理,不能在浏览器里看到报错才对

确实没考虑美观性,毕竟也只有程序员才打开控制台呀,我看下把它屏蔽掉吧。

mumuy commented 3 months ago

看了下代码,目前信息是通过一个个loader分别解析出来再汇总的(https://github.com/mumuy/browser/blob/master/src/browser.js#L17 ),但某些场景下只需要部分信息,也就是只用到其中一个或几个loader,能否将每个loader模块export出来供调用呢?或者欢迎pr吗?

已支持单独加载 ,如 browser.getInfo(['network']);