javascript - 移动浏览器上的服务工作者 JavaScript 问题
问题描述
这真让我抓狂。我一直在尝试为网站实现推送通知,并且找到了解决方案(Javacript API 通知)。问题是:通知在移动设备上不起作用。
我阅读了有关服务人员的信息,并且一直在使用此代码向用户询问许可和所有内容,但它仍然无法正常工作。我不确定我是否做错了什么。我读到它必须是一个 https 站点,但这似乎不是问题。我也尝试过 push.js 插件plugin.js,但到目前为止没有成功(即使它在他们网站上的那个插件的演示在我的移动浏览器上运行)这是网站 >>> https://park -inside.nl/test/
“设置通知”按钮用于在等待时间低于所选时间时显示通知。因此,要对此进行测试,只需单击“设置通知”,然后选择大于“Wachttijd”列的分钟数并刷新页面。应该会出现通知。它适用于桌面浏览器,但不适用于移动设备。有什么想法或建议吗?我会喜欢并感谢任何帮助。
注意:我在 Android 9 (go) 上使用 Chrome 94
请求用户许可的代码:
Notification.requestPermission(function(result) {
if (result === 'granted') {
navigator.serviceWorker.ready.then(function(registration) {
registration.showNotification('Notification with ServiceWorker');
});
}
});
解决方案
请参阅 Web 通知的浏览器支持表:https ://caniuse.com/notifications 。
它们仅适用于 Android 上的 Chrome,而不适用于现有的 Android 浏览器。
此外,请务必注册一个服务工作者,即使它是一个空的,如下所示:https ://stackoverflow.com/a/31787926/10551293 。
此处提供了通知的演示:https ://serviceworke.rs/push-payload_demo.html 。
Google 还提供了一个分步代码实验室:https ://developers.google.com/codelabs/pwa-training/pwa03--going-offline#0
推荐阅读
- node.js - 在 web 上解释 Ethercalc 以及我们如何将它与 node js 一起使用
- r - 按原样将数据从 Excel 提取到 R
- python - Python 中的递归调用在调试中显示非空列表,但在传递给函数时变为“无”类型
- python - 尝试使用嵌套循环 python 3 塑造形状
- java - JDBC 使用 where 条件在 resultSet 中返回空值。我试图获取所有列,但它没有返回任何值
- deep-learning - 测量音频质量和吸引力/美感
- python - spaCy 匹配器无法识别除第一个之外的模式
- python - 比较两个列表列表并在python中获得部分/完整匹配
- c# - 使用 TypeBuilder 生成将自身置于构造函数中的构造函数
- jquery - Rails 将“json”格式的 Ajax 请求视为“text/html”