如何正确设置浏览器创建的桌面通知的无限超时

Posted

技术标签:

【中文标题】如何正确设置浏览器创建的桌面通知的无限超时【英文标题】:How do I properly set a infinite timeout on desktop notifications created by the browser 【发布时间】:2017-07-14 10:27:10 【问题描述】:

我想使用 Notification api 创建桌面通知。我的要求是在用户关闭之前显示桌面通知。通知的默认超时为 20 秒。只有。我想进一步扩展它。

 var notification = new Notification('Notification');
 setTimeout(function() 
     notification.close()
 , 40000);

上面的脚本 40 秒不工作

【问题讨论】:

您需要以某种方式禁用内部计时器。 如何禁用? 这可能会有所帮助:***.com/questions/39664740/… 感谢 q。它正在工作。:) How do I make a Notification stay open until the user closes it?的可能重复 【参考方案1】:

为 Jeremy Tille 的评论添加一些解释:

这样你只能在浏览器默认关闭通知之前关闭通知。默认值取决于浏览器(例如,我当前使用的 Firefox 似乎有大约 20 秒的超时时间,而旧版本只有大约 4 秒)。

如评论中所述,一些现代浏览器支持requireInteraction 标志(How do I make a Notification stay open until the user closes it?)。这样你可以让它看起来比默认的持续时间更长。

【讨论】:

以上是关于如何正确设置浏览器创建的桌面通知的无限超时的主要内容,如果未能解决你的问题,请参考以下文章

iOS 实现桌面快捷方式-快速打开App功能页

h5设置请求超时时间

如何让 QWebView 显示桌面通知?

用于桌面的异地推送通知

浏览器发起桌面通知Notification.requestPermission

区分移动应用程序和桌面浏览器对会话管理的请求