Javascript 如何在firefox中打开通知?

Javascript 如何在firefox中打开通知?,javascript,notifications,Javascript,Notifications,我有一个聊天程序,我希望人们离开他们的办公桌。当他们回来时,我希望通知仍然在屏幕上。Chrome可以永远保留通知,但firefox自动关闭。这并不好,因为用户不会盯着他们的显示器看 Firefox似乎可以自动关闭通知。有没有一个好办法让它保持打开状态?我现在只是在通知关闭时重新打开它,当我显式地关闭它(单击)时,我允许它实际关闭 // This assumes you already checked for permissions and have notifications working

我有一个聊天程序,我希望人们离开他们的办公桌。当他们回来时,我希望通知仍然在屏幕上。Chrome可以永远保留通知,但firefox自动关闭。这并不好,因为用户不会盯着他们的显示器看


Firefox似乎可以自动关闭通知。有没有一个好办法让它保持打开状态?

我现在只是在通知关闭时重新打开它,当我显式地关闭它(单击)时,我允许它实际关闭

// This assumes you already checked for permissions and have notifications working

var MyNotify = function(message) {
  this.message = message;
  this.open();
};

MyNotify.prototype.open = function() {
  var self = this;

  // Notification is the native browser method
  self.instance = new Notification(self.message);

  self.instance.addEventListener('close', function(){
    // We force firefox to continually respawn notifications until they explicitly close
    if (!self.shouldClose)
      self.open();
  });

  self.instance.addEventListener('click', function(){
    self.close();
  });

};

MyNotify.prototype.close = function() {
  self.shouldClose = true;
  self.instance.close();
};

new MyNotify('Hello World');

我不相信firefox允许这种情况被过度使用。对。。我在下面发布的解决方案只是重新打开了它。这是可行的,但却是一场UX灾难。当用户单击<代码>关闭按钮-通知收割机。真烦人。给人一种被黑客攻击的印象。应该有一种简单的方法来确定通知是由系统关闭的,还是由用户关闭的。如果是由操作系统关闭的,我们使用这种重新生成通知的方法-但是如果是由用户关闭的,则应该以另一种方式捕获-可能是
closed\u by\u user
事件或其他什么
requireInteraction:true
用于此目的,但它仅在chrome中有效。你说得对。。这种实现只适用于内部系统,您非常关心它的开放性,但您可以教会每个销售人员这些怪癖