H5获取手机设备信息、app版本信息、ip地址

html-css06

H5获取手机设备信息、app版本信息、ip地址,第1张

获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。

获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。

直接上demo

注意:

获取IP地址和plus.device.getInfo都是异步的,所以在使用的时候要注意时机

效果图:

Android和IOS获取imei、imsi、uuid时须知:

imei: (String 类型 )设备的国际移动设备身份码

如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。

平台支持

imsi: (Array[ String ] 类型 )设备的国际移动用户识别码

字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

平台支持

uuid: (String 类型 )设备标识

设备的唯一标识号。

平台支持

其他的属性和方法,参考html5plus官网:

http://www.html5plus.org/doc/zh_cn/device.html

Github

个人博客

ios上plus是一直存在的,不涉及等ready事件。但安卓上还是需要等plus ready。

在安卓环境中,通常情况下需要html页面解析完成后才会让5+ API生效,安卓的执行的顺序为:

1. 加载html页面,loading

2. 解析html页面(解析title节点、下载script/link等节点引用的资源,如js/css文件)

3. 触发DOMContentLoaded事件

4. 触发plusready事件

此文对执行顺序有详细描述:http://ask.dcloud.net.cn/article/571

我们总是在不停追求性能优化,生效时间越早,我们可以把app的体验做的更好。

在HBuilder7.5版本之后安卓版支持提前注入5+ API,可以在plusready事件触发之前调用5+ API,操作方法是在页面中添加以下节点:

<script src="html5plus://ready"></script>,示例如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>

<title>HTML5+ API</title>

<script src="html5plus://ready"></script>

<script type="text/javascript" charset="utf-8">

// 这里可以调用5+ API了,为了更好的兼容性,应该使用以下代码进行判断

if(window.plus){

// 在这里调用5+ API

}else{// 兼容老版本的plusready事件

document.addEventListener('plusready',function () {

// 在这里调用5+ API

},false)

}

</script>

</head>

<body>

Hello HTML5 plus