基于Chrome浏览器的GCM推送通知本地弹出检测

基于Chrome浏览器的GCM推送通知本地弹出检测

问题描述:

我需要在网站上更改文本消息,而铬本机弹出窗口出现允许从站点获取基于Chrome浏览器的GCM推送通知。看截图。 enter image description here基于Chrome浏览器的GCM推送通知本地弹出检测

据我所知,原生弹出只能第一次,同时启用该网站的通知。但如果假设有人允许第一次,然后禁用该网站,然后尝试再次启用它不会出现。

所以我只需要添加一个检查代码来知道只有当弹出窗口工作。此本机自带弹出了,而在这行代码订阅铬GCM通知:提前

navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) { 
      serviceWorkerRegistration.pushManager.subscribe({userVisibleOnly: true}).then(function(subscription) { 

感谢。

您可以使用Permissions API和查询的状态为“提示”

特别是你可以做这样的事情:

navigator.permissions.query({name:'notifications'}).then(function(result) { 
if (result.status == 'prompt') { 
    // At this point you know that once you call pushManager.subscribe the 
    // Dialog will be shown. 
} 
}); 

的权限API的MDN进行了详细介绍 https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query