<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link href="css/mui.css" rel="stylesheet" />
<script src="js/mui.js"></script>
<script type="text/javascript">
mui.init()
mui.plusReady(function(){
//获取通讯录联系人
//第一个参数获取的手机联系人 也可以获取sim卡的联系人 第二个是成功的回调参数 第三个失败的参数 是个可选参数
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE,function(addressbook){
//find 查找符合条件的 第一个是一个数组类型 第二个人是回调参数 结果集
addressbook.find(["displayName","phoneNumbers"],function(contacts){
//使用for循环拿出数据 渲染到页面上面
//获取到返回的数组的长度 并且把他的长度赋值给 len 如果len 小于 i 的话 让i自增 完成循环
for(var i= 0,len = contacts.length;i < len;i++){
alert(contacts[i].displayName+contacts[i].phoneNumbers[0].value)
/* .cloneNode(true) 是 Node 对象的方法,用于创建调用方法的节点的一个副本,并且克隆节点会
包括所有子节点与属性。所以说,这个方法的作用就是克隆一个节点并生成其完全等价的副本,使得新的
节点与源节点保持一致,包括其文本、属性、样式等所有信息。如果 cloneNode() 方法的参数设置为tr
ue,则表示进行深度拷贝,克隆节点时包括其所有子节点和后代节点,即递归克隆整个子树。而参数设置
为 false,则表示只对节点本身进行克隆。 */
var li = document.getElementById("model").cloneNode(true);
/* 这里使用.value是因为 要来获取该电话号码的值,否则输出的是电话号码对象本身所以是object,而
非具体的电话号 */
li.innerHTML = contacts[i].displayName+"</br>"+contacts[i].phoneNumbers[0].value;
document.getElementById("li").appendChild(li)
}
})
})
});
</script>
</head>
<body>
<div class="mui-content">
<ul class="mui-table-view" id="model">
<li class="mui-table-view-cell" id="li">
通讯录
</li>
</ul>
</div>
</body>
</html>
Html5+ 学习笔记 — Contacts 获取通讯录信息
于 2023-12-08 11:05:52 首次发布