浏览器标签页favicon设置数字角标

2024-02-07 15:18

本文主要是介绍浏览器标签页favicon设置数字角标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        不管是在B/C端系统中,例如具有审批流或者购物网站的订单页面,我们可以将当前待办数或者用户的订单数显示到浏览器的标签页图标上,虽然只是一个小小的功能,但是也能让系统显得与众不同,更加人性化  如下图浏览器标签页数字角标

 

       安装  yarn add favico.js -S

        拿常用的vue项目举例,一般情况下,我们整个系统中只有部分页面需要显示角标的需求,其他页面是不需要显示的,在vue框架中如何实现?那我们就会用到vuex了

// store.js
import Vue from 'vue'
import VueX from 'vueX'
Vue.use(Vuex)
const Favico = require('favico.js')
const store = new Vuex.Store({state: {favico: new Favico({animation:'none'})},mutations: {setCount(state,num) {state.favico.badge(num)},reset(state) {state.favico.reset()}}
})
export default store// router.js   因为只需要某些页面显示角标 所以我们需要在进入页面前,在路由卫士做重置处理
import store from './store.js'
import Router from 'vue-router'
router.beforeEach((to,from,next)=>{store.commit('reset')next()
})// 显示角标页面
<template><div>demo</div>
</template>
<script>
import {mapMutations} from 'vuex'
export default {mounted() {this.setCount(3)},methods: {...mapMutations(['setCount'])}
}
</script>
favico基础用法
属性名说明默认值
bgColor徽标的背景颜色#d00
textColor徽标的文本颜色#fff
fontFamily徽标使用的文本sans-serif
fontStyle徽标的字体样式bold
type徽标的形状,可以选择circle或者rectanglecircle
position徽标在整个小图标的定位,可选的有up, down, left, upleftdown
animation徽标显示的动画,可选的有slide, fade, pop, popFade, noneslide

方法名说明
image()使用图像
video()使用视频
webcam()使用摄像头
......

 具体如何使用,可参考favico.js代码用法,也可参考github中favico.js的如下部分源码

例如该方法需要传入图片dom元素    
/*** Set image as icon  设置图像*/var image = function (imageElement) {_readyCb = function () {try {var w = imageElement.width;var h = imageElement.height;var newImg = document.createElement('img');var ratio = (w / _w < h / _h) ? (w / _w) : (h / _h);newImg.setAttribute('crossOrigin', 'anonymous');newImg.onload=function(){_context.clearRect(0, 0, _w, _h);_context.drawImage(newImg, 0, 0, _w, _h);link.setIcon(_canvas);};newImg.setAttribute('src', imageElement.getAttribute('src'));newImg.height = (h / ratio);newImg.width = (w / ratio);} catch (e) {throw new Error('Error setting image. Message: ' + e.message);}};if (_ready) {_readyCb();}};/*** Set video as icon  设置视频*/var webcam = function (action) {//URif (!window.URL || !window.URL.createObjectURL) {window.URL = window.URL || {};window.URL.createObjectURL = function (obj) {return obj;};}if (_browser.supported) {var newVideo = false;navigator.getUserMedia = navigator.getUserMedia || navigator.oGetUserMedia || navigator.msGetUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia;_readyCb = function () {try {if (action === 'stop') {_stop = true;icon.reset();_stop = false;return;}newVideo = document.createElement('video');newVideo.width = _w;newVideo.height = _h;navigator.getUserMedia({video: true,audio: false}, function (stream) {newVideo.src = URL.createObjectURL(stream);newVideo.play();drawVideo(newVideo);}, function () {});} catch (e) {throw new Error('Error setting webcam. Message: ' + e.message);}};if (_ready) {_readyCb();}}};

相关资料 github地址: https://github.com/ejci/favico.js

这篇关于浏览器标签页favicon设置数字角标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688106

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li