2017-09-20 126 views
0

我使用此代碼桌面通知推送到客戶端:Chrome的桌面通知

// Let's check if the browser supports notifications 
if (!("Notification" in window)) { 
    toast(type, title, body); 
} 

// Let's check whether notification permissions have already been granted 
else if (Notification.permission === "granted") { 
    // If it's okay let's create a notification 
    var notification = new Notification(title, options); 
} 

// Otherwise, we need to ask the user for permission 
else if (Notification.permission !== 'denied') { 
    Notification.requestPermission(function (permission) { 
     // If the user accepts, let's create a notification 
     if (permission === "granted") { 
      var notification = new Notification(title, options); 
     } else { 
      // toast(type, title, body); 
     } 
    }); 
} 

的問題是同時通知設置設爲AllowedDefault (Ask)瀏覽器不顯示通知客戶,也不要求准予使用。
無論上面的代碼是什麼,當我在Chrome開發者工具控制檯中鍵入Notification.permission時,它是denined(同樣,它設置爲Allowed
鉻版本是63.x.

回答

0

一旦您拒絕通知,您將不會立即得到提示。這是爲了防止網站垃圾郵件的用戶。

這可能是測試過程中的問題。幸運的是,如果您打開Chrome的通知設置,則可以移除該條目,這應該允許您通過首次訪問者流程。通知設置會不時移動,因此您可能不得不四處徘徊。我安裝的Chrome 60版本的通知設置爲chrome:// settings/content/notifications。