Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ios上,使用Cordova Contact API获取联系人时,不支持displayName。是什么?_Javascript_Cordova - Fatal编程技术网

Javascript 在ios上,使用Cordova Contact API获取联系人时,不支持displayName。是什么?

Javascript 在ios上,使用Cordova Contact API获取联系人时,不支持displayName。是什么?,javascript,cordova,Javascript,Cordova,我正在用Phonegap构建一个手机应用程序。我正在尝试使用Cordova联系人API检索我手机上联系人的姓名。这是我目前的代码。它在Android设备上工作。它只是从手机获取联系人并将其附加到ul元素。我使用了一个小jquery作为附加。中的displayName属性允许您获取手机上联系人的姓名。我刚刚意识到ios不支持它。我尝试了联系人[I]。姓名;在我的密码里也一样,什么都没有。如果有人能告诉我ios支持什么属性,我将不胜感激。如何在iphone4或5上获取联系人姓名 // Wait f

我正在用Phonegap构建一个手机应用程序。我正在尝试使用Cordova联系人API检索我手机上联系人的姓名。这是我目前的代码。它在Android设备上工作。它只是从手机获取联系人并将其附加到ul元素。我使用了一个小jquery作为附加。中的displayName属性允许您获取手机上联系人的姓名。我刚刚意识到ios不支持它。我尝试了联系人[I]。姓名;在我的密码里也一样,什么都没有。如果有人能告诉我ios支持什么属性,我将不胜感激。如何在iphone4或5上获取联系人姓名

 // Wait for Cordova to load
 //
 document.addEventListener("deviceready", onDeviceReady, false);

 // Cordova is ready
 //
 function onDeviceReady() {
 // find all contacts
 var options = new ContactFindOptions();
 options.filter=""; 
 options.multiple=true;
 var filter = ["*"];
 navigator.contacts.find(filter, onSuccess, onError, options);


 }

 // onSuccess: Get a snapshot of the current contacts
 //
 function onSuccess(contacts) {

 for (var i=0; i<contacts.length; i++) {
 //alert(contacts[i].displayName);

 //make if statement where 
 var mycontact = contacts[i].displayName;
 ///alert(mycontact);
 if(mycontact == null){

 }   
 else
 {
 $("#contactlist").append('<li style="background-color:rgb(184,249,255);height:70px;overflow:hidden;border-top:solid 1px; border-bottom:solid 1px background-color:rgb(184,249,255);"><p style="font-family: Arial;font-size: 18px;top: 5px;position: relative;left: 10px;">' + mycontact + '</p></li>');
 }


 }


  // ele.innerHTML = str;
 }

 // onError: Failed to get the contacts
 //
 function onError(contactError) {
 alert('onError!');
  }
//等待Cordova加载
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//科尔多瓦准备好了
//
函数ondevicerady(){
//查找所有联系人
var options=new ContactFindOptions();
选项。过滤器=”;
options.multiple=true;
变量过滤器=[“*”];
navigator.contacts.find(过滤器、onSuccess、onError、选项);
}
//onSuccess:获取当前联系人的快照
//
成功时的功能(联系人){

对于(var i=0;i我今天看到一篇博客文章,很好地解释了这一点:

简而言之,在演示代码的末尾,作者提供了以下内容:

/*
Handles iOS not returning displayName or returning null/""
*/
function getName(c) {
    var name = c.displayName;
    if(!name || name === "") {
        if(c.name.formatted) return c.name.formatted;
        if(c.name.givenName && c.name.familyName) return c.name.givenName +" "+c.name.familyName;
        return "Nameless";
    }
    return name;
}