如何为Web推送做特征检测
How to do feature detection for Web Push?
是否有简单的方法来检测浏览器(桌面和移动)中的Web Push API
有些浏览器版本只支持service worker而不支持Push API。
建议您尝试检测Push API本身。
如果你需要以同步方式检查浏览器支持(即不等待Promise),你可以使用这个(从Pushpad SDK复制):
function isPushApiSupported() {
return 'PushManager' in window;
}
目前,所有支持Service worker的浏览器都支持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.
}
});
相关文章:
- 如何在javascript已经检测到的情况下将屏幕分辨率数据调整为web
- 检测Firebug(或任何其他Web调试器)何时用于调试
- 如何在 html Web 应用中检测滑动原点位置
- 使用特征检测通过点表示法检查对保留字的支持
- 什么's特征检测、特征推断和使用UA字符串之间的区别
- 视差/背景位置的特征检测
- 如何检测 Web 应用是否在应用模式或 Safari 模式下运行
- 如何特征检测XMLHttpRequest是否支持responseType=“”;阵列缓冲器”;
- HTML5拖放的setDragImage特征检测
- 特征检测是否需要用户手势
- 检测web浏览器是否重定向
- 如何检测web字体是否加载并隐藏文本节点,直到发生这种情况
- 特征检测-狮子滚动条
- SVG中矢量效果属性的特征检测
- 特征检测与Modernizr不工作
- 带有换行符的文本区域maxlength的特征检测
- CSS3过渡属性的特征检测
- 如何为Web推送做特征检测
- 如何检测web浏览器关闭并记录它
- 如何使用AJAX来检测web服务器是否关闭或未接收请求