快速了解Navigator API SetAppBadge

网站建设4年前发布
23 0 0

在很多客户端应用程序中,一般会通过应用图标的角标来显示当前消息的数量,例如,20230305205454d5933ec439cf3ab5ede824df8b572f83f2cf9c307,其实,web 中也有类似的设定,花两分钟了解一下吧,现在的navigator[1]早已不是以前的navigator​了,印象中的navigator​通常用于获取设备的信息,浏览器发展这么多年,现在navigator也赋予了很多原生底层的能力,比如今天要讲到的设置应用图标徽章的能力,navigator.setAppBadge[2]。,语法很简单,如下:,这里的contents表示要设置的数字,不是必填的。,如果你随便打开一个网页,然后在控制台执行;,但是并不会有什么变化;,2023030520545492cf87377a9b2ac3eec95792d1bed237623608145,原因其实很简单,这时的 Chrome浏览器图标并不是该网站的应用图标,解决方式有两种,首先如果是普通的网站,比如刚才的 MDN官网,需要将该网站创建快捷方式。,20230305205606338073c4228125c07c8733dcf0152c17a897bc183,这样,MDN 官网也有了自己的应用图标。,2023030520545546d08f5750baf783c784502d691bd1d760542f417,现在重新在控制台执行以上代码:,2023030520545657723dd43348b45d0317745d05f1972a28e018170,这样应用图标上就有数字提示了,和普通的应用程序完全一样。,还有另外一种方式,现在有一些PWA​应用,体验会更好,可以离线使用,比如vue3官网,右上角会提示“安装应用”。,安装后打开,然后在控制台执行以上代码:,2023030520545893f96a9990a3613ebb91235b848d20a688870e989,同样可以支持数字展示。,前面提到,参数不是必须的,比如不传参数,此时表示数量是不确定的,在 Mac OS 下的表现是这样的,一个红色圆圈,20230305205459b767a4e61f795fdcb3e36570b6bf9fb605eaf5589,在 windows 下,有磁贴和图标两种展现形式:,20230305205500919d5d769f72fd14f8b565711c20ca8c7f4886952,参数支持的格式是BigUint64Array,简单来说就是非负整数,实测小数、数字类型的字符串也是支持的,20230305205501831e41b68ea8536bf218085f8921c41b17a8c0242,windows 系统表现如下:,202303052055017130fe088baceee0f4034653f83c03688fd2dd224,如果为0,则会清除标识,还有一个现象,如果超过 99​,则展示为99+,2023030520550292ec12c52a8a87b109a80534c9e418641c0fa6185,windows 系统表现如下(磁贴居然没有数字了)。,20230305205503a8674db619813ae53988521939d653f58c4d40911,事实上,目前支持PWA​的网站是少之又少,大多数人也没有将网站快捷方式另存的习惯,所以实际生产中几乎没有setAppBadge的用武之地。,不过,如果你有开发electron的需求,不妨试一下这个方法,完美支持应用图标通知提示,2023030520550435ad8e861610f107b68694246ec47ac524a542568,相比electron原生的方法好处是,可以直接在渲染进程使用,无需通信,以上就是全部内容了,你学会了吗?下面总结一下要点:,navigator​下面还有很多方法,都是和原生底层相关的,比如关于剪贴板的(Navigator.clipboard​),还有可以调用系统原生分享的(Navigator.share​)等等,这些 API​会让 web 看起来更加原生,很多以前需要用到客户端sdk的能力也在慢慢支持,相信会越来越好的。,[1]navigator: https://developer.mozilla.org/en-US/docs/Web/API/Navigator,[2]navigator.setAppBadge: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/setAppBadge​,

© 版权声明

相关文章