0

我正在使用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 测试[9529:907] [LOG] 0
2012-11-09 16:48:22.566 测试[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 无论如何都会抛出错误,
任何人都可以建议其他方法来解决这个问题吗?提前致谢。

4

1 回答 1

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

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

于 2012-11-14T06:51:07.527 回答