是否有任何简单的方法可以在浏览器(桌面和移动)中检测 Web Push API
问问题
2038 次
2 回答
15
某些浏览器版本仅支持 service worker,但不支持 Push API。
建议您尝试检测 Push API 本身。
如果您需要以同步方式检查浏览器支持(即无需等待 Promise),您可以使用这个(从Pushpad SDK复制):
function isPushApiSupported() {
return 'PushManager' in window;
}
于 2016-08-12T10:43:35.083 回答
3
目前,任何支持 Service Workers 的浏览器也支持 Web Push。
所以只需检查是否navigator
有serviceWorker
属性。
如果您担心将来某些浏览器可能会在 Web Push 之前开始支持 Service Worker,那么这样的事情会起作用:
navigator.serviceWorker.getRegistration()
.then(function(registration) {
if (registration.pushManager) {
// Web Push supported.
} else {
// Web Push not supported.
}
});
于 2016-08-12T09:31:28.290 回答