これがないドキュメントの最新バージョンです!
Click here for the latest released version.
ContactField
[Contact](../Contact/contact.html)
オブジェクトで使用される汎用フィールドに用いられます。 ContactField
オブジェクトとして格納されるデータとしては、メールアドレスや電話番号などが挙げられます。
プロパティー
- type: フィールドのタイプを表します (例: 'home') (DOMString)
- value: フィールド値を表します (例: 電話番号、メールアドレス) (DOMString)
- pref:
ContactField
がユーザーの推奨値を含むかどうかを表します。含む場合、true
がセットされます (boolean)
詳細
ContactField
オブジェクトは、連絡先の各フィールドを汎用的に格納するためのコンポーネントです。各 ContactField
オブジェクトは、 value プロパティ、 type プロパティ、 pref プロパティーを持っています。 [Contact](../Contact/contact.html)
オブジェクトは電話番号やメールアドレスなどといった複数のプロパティーを ContactField[]
配列に保存しています。
多くの場合 ContactField
オブジェクトの type 属性に定義済みの値は存在しません。例えば、電話番号について type 属性の値として 'home', 'work', 'mobile', 'iPhone' など、デバイスのプラットフォームに応じて異なった値が格納されます。ただし [Contact](../Contact/contact.html)
の photos フィールドに限り、 type 属性には画像フォーマットが格納されます。 Cordova は value 属性が画像への URL を含む場合、 type: 'url' を返します。 value 属性が Base64 形式の画像を含む場合、 type: 'base64' を返します。
サポートされているプラットフォーム
- Android
- BlackBerry WebWorks (OS 5.0 以上)
- iOS
- Bada 1.2 & 2.0
使用例
// 新しい連絡先を作成
var contact = navigator.contacts.create();
// 連絡先の電話番号を ContactField[] に格納
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // 推奨された電話番号
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// 連絡先を保存
contact.save();
詳細な使用例
<!DOCTYPE html>
<html>
<head>
<title>Contact の使用例</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>
<script type="text/javascript" charset="utf-8">
// Cordova の読み込み完了まで待機
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova 準備完了
//
function onDeviceReady() {
// 新しい連絡先を作成
var contact = navigator.contacts.create();
// 連絡先の電話番号を ContactField[] に格納
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // 推奨された電話番号
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// 連絡先を保存
contact.save();
// 連絡先を検索し、名前と電話番号を表示
var options = new ContactFindOptions();
options.filter="";
filter = ["displayName","phoneNumbers"];
navigator.contacts.find(filter, onSuccess, onError, options);
}
// onSuccess: 連絡先の取得に成功した場合
//
function onSuccess(contacts) {
for (var i=0; i<contacts.length; i++) {
// 電話番号を表示
for (var j=0; j<contacts[i].phoneNumbers.length; j++) {
alert("タイプ: " + contacts[i].phoneNumbers[j].type + "\n" +
"値: " + contacts[i].phoneNumbers[j].value + "\n" +
"Preferred: " + contacts[i].phoneNumbers[j].pref);
}
}
};
// onError: 連絡先の取得に失敗した場合
//
function onError(contactError) {
alert('エラーが発生しました。');
}
</script>
</head>
<body>
<h1>使用例</h1>
<p>連絡先の検索</p>
</body>
</html>
Android に関する注意点
- pref: このプロパティーは Android ではサポートされておらず、常に
false
を返します。
BlackBerry WebWorks (OS 5.0 and higher) に関する注意点
- type: 部分的にサポートされています。電話番号に使われます。
- value: サポートされています。
- pref: このプロパティーはサポートされておらず、常に
false
を返します。
iOS に関する注意点
- pref: このプロパティーは iOS ではサポートされておらず、常に
false
を返します。
Bada に関する注意点
- type: メールアドレス または 住所 フィールドの場合、プロパティーは次のいずれかである必要があります: "WORK", "HOME"。電話フィールドの場合、プロパティーは次のいずれかである必要があります: "WORK", "HOME", "VOICE", "FAX", "MSG", "CELL", "PAGER", "BBS", "MODEM", "CAR", "ISDN","VIDEO", "PCS"。