浏览器标签页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

相关文章

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St