如何在javascript中设置推送通知的显示持续时间?
以下是侦听推送通知的服务工作者的代码:如何在javascript中设置推送通知的显示持续时间?,javascript,push-notification,notifications,service-worker,Javascript,Push Notification,Notifications,Service Worker,以下是侦听推送通知的服务工作者的代码: self.addEventListener('push', function (event) { var payload = event.data ? event.data.text() : 'no payload'; event.waitUntil( self.registration.showNotification('Notify Message', { body: payload,
self.addEventListener('push', function (event) {
var payload = event.data ? event.data.text() : 'no payload';
event.waitUntil(
self.registration.showNotification('Notify Message', {
body: payload,
icon: 'push.png'
}) );
});
当发送通知时,我的屏幕上会出现推送通知。但是我想在屏幕上显示一段时间的推送通知(例如90秒或发送通知的用户将输入的某个动态持续时间)。这不适用于android或ios。这是桌面级别的通知。那么,如何设置推送通知的持续时间呢
非常感谢您的任何帮助。
谢谢在没有看到如何显示通知的情况下,您能否实现一个简单的超时,大致如下:
function clearNotice(notice) {
// notice.hide();
}
function showNotice(notice) {
notice.show();
// clear your notice
setTimeout(clearNotice(notice), notice.timeout);
}
没有可用的侦听器或属性来设置持续时间。您可以使用以下代码关闭通知
Notification.requestPermission(function(result) {
if (result === 'granted') {
navigator.serviceWorker.ready.then(function(registration) {
registration.showNotification('Notify Message', {
body: payload,
icon: 'push.png'
}).then(function(event) {
console.log(event);
if(event && event.notification) {
setTimeout(function(){ event.notification.close();}, 3000);
}
});
});
}
})) 您可以将requireInteraction参数设置为true,以使通知不会自动解除。 当前没有持续时间的参数。 您可以在这里查看文档
我收到TypeError:事件在promise中未定义。但是我收到了通知。在上面的代码中进行self.registration,并检查是否(event.notification)然后关闭。找到了此问题的解决方案吗?没有,没有找到。