iOS 16.4环境下PWA点击通知无法打开自定义URL及通知操作项不显示的问题求助
iOS 16.4环境下PWA点击通知无法打开自定义URL及通知操作项不显示的问题求助
大家好,我最近在给PWA适配iOS 16.4新增的Web Push功能,整体安装流程挺顺畅的,但遇到了两个棘手的问题,想请教下各位开发者:
问题1:点击通知无法跳转到PWA内指定页面
在Chrome里,点击通知能正常跳转到PWA的/calendar页面,但在Safari(不管是iOS 16公测版的Safari,还是集成了WebKit 16.4的Safari技术预览版)里,总是跳转到PWA的首页/。
我在Service Worker里用的代码如下:
self.addEventListener('notificationclick', function (event) { console.log('On notification click: ', event); event.waitUntil( clients.matchAll({ type: 'window', }) .then((clientList) => { for (const client of clientList) { if (client.url === url && 'focus' in client) { return client.focus(); } } return clients.openWindow('/calendar'); // 这里不生效,总是打开"/"而非"/calendar" }) ); event.notification.close(); })
问题2:通知操作项在iOS上完全不显示
我给iOS端的通知设置了多个操作项,但这些操作项根本不显示,同样的代码在Chrome里是正常显示的。
我已经做的尝试
我用连接的iPhone(运行iOS 16公测版)和Safari技术预览版做了调试,但还是没找到问题根源。
预期效果
我希望能实现两个功能:
- 通知能正常显示设置的操作项
- 点击通知或者通知里的操作项时,能打开PWA内的指定页面
想请教大家:这两个功能是不是iOS 16.4还没实现?或者我在代码里哪里写错了?有没有人知道这些功能什么时候会被支持?
备注:内容来源于stack exchange,提问作者pbro
相关产品推荐
相关产品推荐

