使用 Notification.image 或 Notification.icon
Using Notification.image or Notification.icon
我正在为通知部署网络推送。一切正常,但我了解到某些浏览器不支持 Notification.image
,或者至少不显示所述图像。但是,它们似乎都支持 Notification.icon
,而 Firefox 在其丰富的推送示例中实际上使用 Notification.icon
来显示图像。
理想情况下,我希望在支持时使用 Notification.image
,但在不支持时回退到 Notification.icon
。然而,它并不只是为两者提供图像那么简单,因为在支持显示的浏览器上 Notification.image
,你会得到它两次。
我想知道是否有人知道检测支持的方法。不幸的是,即使是不支持显示的浏览器仍然知道 Notification.image
是一个存在的东西,所以基本的特征检测已经过时了。我还想尽可能避免 UA 检测,因为跟上受支持的 UA 可能是一场噩梦。任何人都知道我遗漏了什么,或者您根据自己的经验是如何处理这个问题的?
好的。好吧,现在我觉得自己很愚蠢。嗯,这就是我们学习的方式。事实证明,您可以进行特征检测。我做了一个假设,因为 Notification.image
在 MDN 中,Firefox 至少会知道它,即使它是特别不支持显示它的浏览器之一。然后,我遇到了 this actually very helpful site,并注意到如果您的浏览器不支持特定部分,按钮会变灰。 "Image" 按钮是灰色的,所以必须有一种方法来检测支持,在挖掘网站的源代码后,我 face-palmed:
'image' in Notification.prototype
所以,是的,真的就是这么简单。至少这可以帮助其他人更快地找到答案。
我正在为通知部署网络推送。一切正常,但我了解到某些浏览器不支持 Notification.image
,或者至少不显示所述图像。但是,它们似乎都支持 Notification.icon
,而 Firefox 在其丰富的推送示例中实际上使用 Notification.icon
来显示图像。
理想情况下,我希望在支持时使用 Notification.image
,但在不支持时回退到 Notification.icon
。然而,它并不只是为两者提供图像那么简单,因为在支持显示的浏览器上 Notification.image
,你会得到它两次。
我想知道是否有人知道检测支持的方法。不幸的是,即使是不支持显示的浏览器仍然知道 Notification.image
是一个存在的东西,所以基本的特征检测已经过时了。我还想尽可能避免 UA 检测,因为跟上受支持的 UA 可能是一场噩梦。任何人都知道我遗漏了什么,或者您根据自己的经验是如何处理这个问题的?
好的。好吧,现在我觉得自己很愚蠢。嗯,这就是我们学习的方式。事实证明,您可以进行特征检测。我做了一个假设,因为 Notification.image
在 MDN 中,Firefox 至少会知道它,即使它是特别不支持显示它的浏览器之一。然后,我遇到了 this actually very helpful site,并注意到如果您的浏览器不支持特定部分,按钮会变灰。 "Image" 按钮是灰色的,所以必须有一种方法来检测支持,在挖掘网站的源代码后,我 face-palmed:
'image' in Notification.prototype
所以,是的,真的就是这么简单。至少这可以帮助其他人更快地找到答案。