获取浏览器信息代码

function userAgent () {let browserReg = {Chrome: /Chrome/,IE: /MSIE/,Firefox: /Firefox/,Opera: /Presto/,Safari: /Version\/([\d.]+).*Safari/,'360': /360SE/,QQBrowswe: /QQ/,Edge: /Edg/};let deviceReg = {iPhone: /iPhone/,iPad: /iPad/,Android: /Android/,Windows: /Windows/,Mac: /Macintosh/,};let userAgentStr = navigator.userAgentconst userAgentObj = {browserName: '', // 浏览器名称browserVersion: '', // 浏览器版本osName: '', // 操作系统名称osVersion: '', // 操作系统版本deviceName: '', // 设备名称}for (let key in browserReg) {if (browserReg[key].test(userAgentStr)) {userAgentObj.browserName = keyif (key === 'Chrome') {userAgentObj.browserVersion = userAgentStr.split('Chrome/')[1].split(' ')[0]} else if (key === 'IE') {userAgentObj.browserVersion = userAgentStr.split('MSIE ')[1].split(' ')[1]} else if (key === 'Firefox') {userAgentObj.browserVersion = userAgentStr.split('Firefox/')[1]} else if (key === 'Opera') {userAgentObj.browserVersion = userAgentStr.split('Version/')[1]} else if (key === 'Safari') {userAgentObj.browserVersion = userAgentStr.split('Version/')[1].split(' ')[0]} else if (key === '360') {userAgentObj.browserVersion = ''} else if (key === 'QQBrowswe') {userAgentObj.browserVersion = userAgentStr.split('Version/')[1].split(' ')[0]} else if (key === 'Edge') {userAgentObj.browserVersion = userAgentStr.split('Edg/')[1].split(' ')[0]}}}for (let key in deviceReg) {if (deviceReg[key].test(userAgentStr)) {userAgentObj.osName = keyif (key === 'Windows') {userAgentObj.osVersion = userAgentStr.split('Windows NT ')[1].split(';')[0]} else if (key === 'Mac') {userAgentObj.osVersion = userAgentStr.split('Mac OS X ')[1].split(')')[0]} else if (key === 'iPhone') {userAgentObj.osVersion = userAgentStr.split('iPhone OS ')[1].split(' ')[0]} else if (key === 'iPad') {userAgentObj.osVersion = userAgentStr.split('iPad; CPU OS ')[1].split(' ')[0]} else if (key === 'Android') {userAgentObj.osVersion = userAgentStr.split('Android ')[1].split(';')[0]userAgentObj.deviceName = userAgentStr.split('(Linux; Android ')[1].split('; ')[1].split(' Build')[0]}}}return userAgentObj}console.log(JSON.stringify(userAgent()))

效果如下

获取用户ip地址代码

 const getIPs = (callback) => {var ip_dups = {};var RTCPeerConnection = window.RTCPeerConnection|| window.mozRTCPeerConnection|| window.webkitRTCPeerConnection;var useWebKit = !!window.webkitRTCPeerConnection;var mediaConstraints = {optional: [{ RtpDataChannels: true }]};// 这里就是需要的ICEServer了var servers = {iceServers: [{ urls: "stun:stun.services.mozilla.com" },{ urls: "stun:stun.l.google.com:19302" },]};var pc = new RTCPeerConnection(servers, mediaConstraints);function handleCandidate (candidate) {var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/var hasIp = ip_regex.exec(candidate)if (hasIp) {var ip_addr = ip_regex.exec(candidate)[1];if (ip_dups[ip_addr] === undefined)callback(ip_addr);ip_dups[ip_addr] = true;}}// 网络协商的过程pc.onicecandidate = function (ice) {if (ice.candidate) {handleCandidate(ice.candidate.candidate);}};pc.createDataChannel("");//创建一个SDP(session description protocol)会话描述协议 是一个纯文本信息 包含了媒体和网络协商的信息pc.createOffer(function (result) {pc.setLocalDescription(result, function () { }, function () { });}, function () { });setTimeout(function () {var lines = pc.localDescription.sdp.split('\n');lines.forEach(function (line) {if (line.indexOf('a=candidate:') === 0)handleCandidate(line);});}, 1000);}getIPs((ip) => {console.log('ip', ip)});

效果如下

拿到ip地址后拼接到url上,然后发送请求获取返回的数据

这里是在 vue中created生命周期中发送请求

返回输入如下

OK 大功告成

js获取用户浏览器信息和ip地址以及位置相关推荐

  1. 获取用户电脑的上网IP地址

    在项目中经常要获取用户的上网的IP地址,如何获取用户的IP地址,方法很多,现在介绍以下2种. /// <summary>         /// 获取本机在局域网的IP地址         ...

  2. 获取微信浏览器的真实IP地址

    问题来源 获取用户客户端IP地址是一个很简单的需求.用户打开网页,发送一个HTTP请求,后台从中提取出IP地址. 但是,在使用微信打开网页时,发现获取到的IP地址和在浏览器打开所得到的IP地址不一样. ...

  3. PHP获取用户浏览器信息

    获取用户的浏览器请求信息. composer安装: composer require ornicar/php-user-agent 在PHP代码中调用: $ua = new \phpUserAgent ...

  4. 获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...

    1.Windows Management Instrumentation(WMI)提供了获取信息的方法,在C#中可用通过System.Management命名空间中的类访问.比如获取CPU ID的方法 ...

  5. 计算机硬盘哪里找到相关信息,获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...

    1.Windows Management Instrumentation(WMI)提供了获取信息的方法,在C#中可用通过System.Management命名空间中的类访问.比如获取CPU ID的方法 ...

  6. js获取用户的操作系统和浏览器版本的方法

     让IE支持placeholder属性 通过window.location获得URL的信息 js获取用户的操作系统和浏览器版本的方法 2013-07-17 15:12:11|  分类: 工作 |  ...

  7. 我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据)

    一.需求 解决应用上架问题 过度获取用户信息 我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID, 用户应用安装列表, MAC地址用户数据) 自"滴滴" ...

  8. js获取PC设备信息,js获取手机设备信息,最全

    获取设备系统和型号<封装方法> <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  9. Java获取请求客户端的真实IP地址

    整理网友的材料,最后有源码,亲测能解决所有java获取IP真实地址的问题 整理的这里: 1.链接1 2.链接2 JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr() ...

最新文章

  1. 使用Ranger对Hive数据进行脱敏
  2. 微信小程序云开发用户身份登录_云开发版的微信商城小程序第一章
  3. 【直观详解】支持向量机SVM
  4. 《帝友 P2P 网络借贷系统》
  5. dj鲜生-16-这是危险的模块-isdangerous
  6. 如何持之以恒做好一件事?
  7. MyBatis-Plus条件查询——Wrapper
  8. 重拾Java Network Programming(一)IO流
  9. python编程心得体会-python核心编程____学习心得____part1
  10. 双轨制奖金分配系统,兼顾技术人员老龄化问题
  11. 软件测试电脑功率,笔记本功率一般多大 笔记本功率检测
  12. postgresql注册表删除_【清理注册表】删除SQL Server注册表
  13. Centos 7.6 Install shc
  14. 华为路由器Serial接口及串口无法实现ACL访问控制解析
  15. 企业邮箱续费多少钱一年?企业邮箱域名到期如何续费?
  16. C++沙海拾遗(三)
  17. 概率论与数理统计 1 Overview and Descriptive Statistics(概述和描述性统计) (上篇)
  18. 软件测试基础知识大全【乐搏TestPRO】
  19. c语言循环题兔子第三个月生,C语言上机习题
  20. C#基础-飞行棋小游戏

热门文章

  1. 完美邮箱(@88.com/@111.com/email.cn):专用密码登录
  2. 山经·南山经:堂庭山
  3. iOS 答题功能实现
  4. python中 {0:2.2f}与{1:2.2f}的区别
  5. 洛谷P2245 星际导航
  6. python 批量修改/替换数据
  7. a-table及相关组件的使用
  8. Spring 框架之九阴真经
  9. android 阅读 翻页,极速PDF安卓版如何翻页、阅读模式修改等操作详解
  10. 移动路由器做网站服务器,移动路由器上网方式选哪个?