Check if browser notification is available

这一生的挚爱 提交于 2020-01-24 04:08:05

问题


I am working with browser notifications and because it is not available for every browser I want to check in my JS-code, if it is available.

I took a look in the Mozilla developer section:
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API

They tell me that I should use this code to check whether a browser has notification support or not:

  if (!("Notification" in window)) {
    alert("This browser does not support system notifications");
  }

I copied that code into my website; the notification still works in the browsers where it worked before but it blocks the execution of other code (as it did before the 'check'-code).

For example: in the edge browser, I get the console error:

 'Notification is undefined'

So what is the preferred method from you to check whether a browser has notification capability?


回答1:


The following code would check whether the browser is compatible with the web notification API

if ('Notification' in window) {
  // API supported
} else {
  // API not supported
}



回答2:


You should also check for the prefixed versions:

var NotificationIsSupported = !!(window.Notification /* W3C Specification */ || window.webkitNotifications /* old WebKit Browsers */ || navigator.mozNotification /* Firefox for Android and Firefox OS */)

You can read more on how to do this in this article. The article also has a lot of code examples of how to support other devices.



来源:https://stackoverflow.com/questions/38422340/check-if-browser-notification-is-available

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!