专栏首页子勰随笔通过JS检测当前设备类型

通过JS检测当前设备类型

背景:

基友做了个APP,发了一排二维码,然后互相吐槽了一下,发现移动应用出现也一年了,虽然很简单,但是好像都懒得通过写个JS来判断然后发一个二维码让大家下载应用。虽然内容不多,而且没啥难度,但是动嘴不如动手,总要有人做,就专门整理一下。

简介:

提供了几个JS接口,通过这几个JS接口,可以轻松获取到当前打开页面的浏览器类型,然后根据类型跳转到对应的链接。同时也提供了两个demo方便大家参考。

对应链接:http://microdemo.bihe0832.com/MultiQrcode/index.html

对应github地址:https://github.com/bihe0832/MultiQrcode

Demo:

Demo1 :

Demo1详细展示了各种设备下的页面跳转(PC和各种移动设备))。不会换起下载,只会打开各种页面。详细的跳转代码参见目录下jump.html

对应链接:http://microdemo.bihe0832.com/MultiQrcode/Demo1/jump.html

Demo2:

Demo2提供了常见应用下载的二维码的方式中,提供一个二维码支持各种平台下载。详细的跳转代码参见目录下download.html

对应链接:http://microdemo.bihe0832.com/MultiQrcode/Demo2/download.html

Tools:

Tools提供了获取是否是移动设备,获取系统,设备类型的各种函数的调用效果。详细的跳转代码参见根目录下tools.html.

对应链接:http://microdemo.bihe0832.com/MultiQrcode/tools.html

实现原理:

利用浏览的navigator中的platform字段和userAgent字段来区分请求来源。

提供接口:

ZixieJS.browser.isPc

  • 功能:判断平台是不是PC
  • 参数:无
  • 返回值:是否为PC设备

ZixieJS.browser.getDevices

  • 功能:判断设备类型
  • 参数:无
  • 返回值:ZixieJS.browser.devices

ZixieJS.browser.getSuperAPP

  • 功能:判断是否为超级app
  • 参数:无
  • 返回值:ZixieJS.browser.app

ZixieJS.browser.getOSDetail

  • 功能:获取具体的PC 操作系统类型和版本号
  • 参数:无
  • 返回值:ZixieJS.browser.OS

ZixieJS.browser.getOS

  • 功能:获取PC系统类型
  • 参数:无
  • 返回值:ZixieJS.browser.OS

代码结构:

 — Demo1: Demo1相关代码
 	- jump.html: Demo1核心代码
 — Demo2: Demo2相关代码
 	- download.html: Demo2核心代码
 — index.html:Demo首页
 — res:页面相关资源
 	- brower.js :核心代码
 — tools.html:JS调用的整体事例。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SDK设计心得之错误码

    子勰
  • iMac上Android Studio 的一些设置

    子勰
  • ANR(网络资料整理)

    子勰
  • Image inpainting 图像修补最新综述

    前几天52CV发布了一篇图像修补(Image Inpainting)的文章:AI魔法手!用算法修复老照片,引起了不少朋友关注,有位朋友问有没有图像修补的最新进展...

    CV君
  • 用Fiddler在Android上抓包(Http+https)

    Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点、修改请求...

    xiangzhihong
  • 如果我们心存偏见,还能做好数据分析吗?

    大数据文摘
  • [Java 基础]接口

    抽象类和抽象方法 抽象方法 在面向对象编程语言中抽象方法指一些只有方法声明而没有具体方法体的方法抽象方法一般存在于抽象类或接口中。 java中,抽象方法就是以 ...

    静默虚空
  • React Native组件(二)View组件解析

    前言 了解了RN的组件的生命周期后,我们接着来学习RN的具体的组件。View组件是最基本的组件,也是首先要掌握的组件,这一篇我们来学习View组件。 1.概述...

    用户1269200
  • 浅谈Vue2中provide和inject使用

    上面这段话出自官方,内容也比较好理解,就是通常数据传递一层,我们使用prop就可以很好的解决,如果传递多层,再使用prop就不是很好的方案,这时需要provid...

    青年码农
  • megeedu Linux+Pytho

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。

    py3study

扫码关注云+社区

领取腾讯云代金券