如果我在桌面上访问我的站点,添加通知的权限,然后从服务器发送测试推送--一切都很完美。
Android手机(Chrome 58)上的相同步骤导致了“这个站点已经在后台更新”的通知。没有标题,没有正文。
这是我的sw.js**:**
self.addEventListener("push", function(event) {
if (event.data) {
const data = event.data.text().split('\t') // [0] = title , [1] = body
const options = {
body: data[1],
}
event.waitUntil(self.registration.showNotification(data[0], options))
} else {
console.log("Push event but no data")
}
})使用web-push**):**的登录服务器(**node.js** )
{ statusCode: 201,
body: '',
headers:
{ location:
'https://fcm.googleapis.com/0:15...',
'x-content-type-options': 'nosniff',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '0',
date: 'Tue, 10 Sep 2019 18:13:39 GMT',
'content-length': '0',
'content-type': 'text/html; charset=UTF-8',
'alt-svc': 'quic=":443"; ma=2592000; v="46,43,39"',
connection: 'close' } }发布于 2019-09-13 10:49:11
当服务工作人员收到推送但尚未显示该推送时,将显示"This site has been updated in the background."。
在我的代码中,我有一个else块,它跳过显示通知。事实证明,这正是代码的结尾,因为它丢失了数据。
https://stackoverflow.com/questions/57876409
复制相似问题