如何在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)然后关闭。找到了此问题的解决方案吗?没有,没有找到。