如何在javascript中设置推送通知的显示时间
How to set display duration for Push Notification in javascript?
下面是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,
icon: 'push.png'
}) );
});
当通知发送时,我的屏幕上会出现推送通知。但是我想在屏幕上显示推送通知一段时间(例如90秒或发送通知的用户将输入的一些动态持续时间)。这并不适用于android或ios。这是桌面级通知。那么,如何设置推送通知的持续时间呢?
任何帮助都是非常感谢的。由于
您可以将requireInteraction参数设置为true,以使通知不被自动取消。目前没有持续时间的参数。您可以在这里查看文档https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification
如果没有看到你是如何显示你的通知,你可以实现一个简单的超时,沿着一行:
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);
}
});
});
}
});
相关文章:
- notify.js没有'如果另一个窗口被聚焦,则不显示通知
- 在ajax调用后在rails中显示通知
- Cordova:如何显示系统通知
- Toast通知未显示在右下角
- 通知权限被拒绝(桌面推送通知).通知弹出窗口不会't以镀铬显示
- Chrome扩展通知未显示contextMessage
- 重定向后在页面上显示通知
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 我们如何在jQuery/php/mySQL中显示最近的通知
- 按钮未显示在 Firefox WebExtension 通知中
- 显示当前的脸书通知
- 仅当标签页处于非活动状态时,才会显示 Chrome 桌面通知
- 是否可以在桌面通知正文JavaScript中显示图标
- 如何不显示重复的谷歌浏览器通知
- 无法发送应用请求,显然已发送,但未显示通知用户
- 使用AngularFire创建用户并调用工厂以显示通知
- 如何在显示 jquery 通知时检测 esc 按键
- Android上Chrome的通知显示在哪里?
- Mozilla通知显示浏览器点击
- 通过jQuery通知显示变量