2013-11-27 44 views
1

我遇到了Firefox OS联系人API的问题。Firefox OS联系人API保存联系人为未命名

我只是从这个页面https://wiki.mozilla.org/ContactsAPI#Create_contact_example

var contact = new mozContact({name: ["John Doe"], givenName: ["John"], familyName: ["Doe"]}); 

var request = navigator.mozContacts.save(contact); 

request.onsuccess = function() { 
    alert("Success saving contact. New contact ID: " + contact.id); 
}; 

request.onerror = function() { 
    alert("Error saving contact."); 
}; 

复制代码,但接触被保存为“NO NAME”。我没有改变代码中的任何内容(它来自官方文档),并且权限也没问题,就像readwrite一样。我在模拟器上运行。有谁知道为什么会发生这种情况?

+0

您使用的是哪个版本的模拟器? – paa

+0

你在哪里看到“No name”字符串?在联系人应用中,我假设。你如何测试这个?保存之后和检查保存的联系人之前关闭联系人应用程序吗?你的代码在哪里运行?一个特权的应用程序?您是否使用模拟器授予权限? –

+0

@paa我正在使用4.0版本(FxOS 1.1)。 –

回答

1

Doh!该页面中的示例代码与Mozilla中央或最新版本的Gecko/Firefox OS上的代码相匹配。事情在1.1中略有不同,你必须像这样初始化mozContact对象:

var contact = new mozContact(); 
contact.init({name: ["John Doe"], givenName: ["John"], familyName: ["Doe"]}); 

对不起。我们的Wiki不是寻找代码示例的最友好的地方,因为它针对的是Firefox OS/Gecko黑客,而不是Web开发人员。我们尽力让MDN更新这样的兼容性问题;请参阅MDN联系人页面中的示例代码:https://developer.mozilla.org/en-US/docs/WebAPI/Contacts

+0

@ReubenMorals我有一个FirefoxOS设备,并且想要创建一个需要联系人权限的应用程序。需要一些帮助的权限。您提供的链接上的相同代码无法使用。 –