我正在使用contact.find函数从联系人列表中获取电子邮件。
获取所有联系人列表名称都没问题,但我无法获取联系人列表电子邮件。
当我解析来自联系人列表的电子邮件数据时,似乎发生了javascript错误。
下面是我的代码。
var contactFxn = {
getContact : function(){
var options = new ContactFindOptions();
var fields = ["name", "email"];
options.filter= "";
options.multiple=true;
navigator.contacts.find(fields, this.onSuccess, this.onError, options);
//console.log(options);
},
onSuccess : function(contacts){
for(var i = 0; i < contacts.length; i++){
console.log(i);
console.log("Display email = " + contacts[i].emails[0].value);
}
}
},
onError : function(e){
console.log(e);
}
}
contactFxn.getContact();
这是我的日志控制台。
2012-11-09 16:48:22.564 test [9529:907] [LOG] 0
2012-11-09 16:48:22.566 test [9529:907] [LOG]显示名称= ssxxc
2012-11-09 16:48:22.568测试[9529:907] [日志] 1
当猜测联系人没有任何电子邮件值时,我猜猜webview会引发javascript错误。
太糟糕了,我无法检查xcode中出现的javascript错误类型。
我已经尝试'if(contacts [i] .emails [0] == null)'但没有运气。 webview无论如何都会抛出错误
任何人都可以通过其他方式来解决这个问题吗?提前致谢。
答案 0 :(得分:2)
onSuccess : function(contacts){
for(var i = 0; i < contacts.length; i++){
console.log(i);
if(contacts[i].emails){
console.log("Display email = " + contacts[i].emails[0].value);
}
}
}
只是愚蠢的错误。 我试图获取联系人[i] .emails [0] .value,而联系人数组的某些元素为
没有电子邮件值。上面的代码现在工作正常