Android の phonegap から連絡先データを取得しようとしています。ここでは、連絡先の画像を取得しようとしており、実際の連絡先の写真が存在しない場合はデフォルトの画像に置き換えようとしています。
phonegap で写真にアクセスしようとすると、写真が存在しなくても URL が返されます。ここでオブジェクトを作成しImage
、画像が存在しない場合に phonegap から取得した写真の URL を割り当てようとすると、Image
オブジェクトはonerror
例外を発生させ、その中でそのsrc
属性をデフォルトの画像に変更します。
しかし、問題はonerror
関数の起動が遅いことです。つまり、データが読み込まれた後、src
属性が変更されません。誰でもどうやって管理すればよいか教えてもらえますかonerror
if(contacts[i].photos){
for(k =0 ;k < contacts[i].photos.length;k++){
var imgVal = new Image();
imgVal.onerror = function(){
this.src= 'resources/images/default_usr.png';
this.error = null;
contactData.setContactImage(this.outerHTML);
console.log("2");
}
imgVal.width="45";
imgVal.height="45";
imgVal.src = contacts[i].photos[k].value;
contactData.setContactImage(imgVal.src);
console.log("1");
}//end for contact photo
}// end if contact photo