检索iphone联系电子邮件时发生错误的phonegap

时间:2012-11-09 08:06:40

标签: ios cordova

我正在使用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无论如何都会抛出错误 任何人都可以通过其他方式来解决这个问题吗?提前致谢。

1 个答案:

答案 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,而联系人数组的某些元素为

没有电子邮件值。上面的代码现在工作正常