我尝试检查用户是否不允许使用Contacts API的权限,我可以再次请求他使用requestPermission()向我的应用授予权限,例如Notifications API https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission
var saving = navigator.mozContacts.save(person);
//Alert the user if the contact saved
saving.onsuccess = function() {
alert('New contact saved');
};
//Get if there was error and display the message
saving.onerror = function(err) {
if (err.target.error.name == 'PERMISSION_DENIED') {
alert('Error: We need your permission to add new contact, please allow the app to add contacts');
} else if (err.target.error.message) {
alert('Error: ' + err.target.error.message);
} else {
alert('Error, Please contact us');
}
};
我喜欢
if (err.target.error.name == 'PERMISSION_DENIED')
再次要求用户允许应用程序使用类似于requestPermission()
的内容答案 0 :(得分:3)
requestPermission()API特定于Notifications,不是通用的。
可能适用于您的情况的方法是添加特定的用户内容,以解释为什么您需要联系信息。
您的代码示例在检测权限被拒绝状态时看起来是正确的。在那部分中,您可能会显示一个叠加层,该叠加层可以解释为什么需要联系信息,以及没有它时,您的网络应用中的哪些功能将无法使用。
您还可以在应用中使用一些普遍可见的图标,让用户知道某些功能目前无法使用,因为尚未访问联系人数据。