Favicon的动态配置

vue 动态设置系统在浏览器中的标题title和图标favicon vue动态修改系统title和favicon 阅读详情

1、需求

需要根据用户的喜好配置网页的favicon图标;

favicon图标是ico格式图片,多位32X32位

2、注意点

谷歌浏览器将其Favicon数据存储在特定的用户数据文件夹中,核心路径通常是:

```
C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data\Default\
```

3、实现

// 1、获取到图片之后先缓存图片的 base64数据到localStroge中
const getFavicon = async (imgUrl: string, imgId: any) => {
    // 通用方法:获取图片 → 转 base64 → 存缓存 → 更新 favicon
    const fetchAndCacheFavicon = async (url: string, id: string) => {
      try {
        const res = await fetch(url)
        if (!res.ok) return
        const blob = await res.blob()
        const reader = new FileReader()
        reader.onload = () => {
          const base64 = reader.result as string
          localStorage.setItem('faviconId', id)
          localStorage.setItem('favicon', base64)
        }
        reader.readAsDataURL(blob)
      } catch (err) {
        console.warn('获取 favicon 失败:', err)
      }
    }

    // 空值 → 清缓存 & 设置默认
    if (!imgUrl || !imgId || imgId === 'default') {
      localStorage.removeItem('favicon')
      localStorage.removeItem('faviconId')
      return
    }

    const cacheId = localStorage.getItem('faviconId')
    const cacheBase64 = localStorage.getItem('favicon')

    // 如果缓存的 id 和当前 id 一致,直接用缓存
    if (cacheId === imgId && cacheBase64) {
      return
    }

    // 请求新的 favicon
    await fetchAndCacheFavicon(imgUrl, imgId)
  }

// 2、在APP.vue入口文件
getLogoAndFavicon().then(() => {
      const faviconUrl = localStorage.getItem('favicon') || undefined
      let link: HTMLLinkElement | null =
        document.querySelector("link[rel*='icon']")
      if (!link) {
        link = document.createElement('link')
        link.rel = 'shortcut icon'
        document.head.appendChild(link)
      }
      link.href = faviconUrl || favicon
    })
// 以上方法如果有了favicon不会再加载,如果需要强制刷新,可以删除原有的link标签,更改版本号之后再重新加载

Vue项目动态化:实现浏览器标题与Logo的实时切换方案 本文详细介绍了Vue项目中实现浏览器标题与Logo动态切换的技术方案。通过Vuex状态管理和DOM操作,结合动态配置中心,实现多租户系统的品牌标识实时切换,有效降低维护成本。文章包含完整代码实现、常见问题解决方案及性能优化技巧,特别解决了favicon缓存等关键技术难点。 阅读详情

相关推荐

SECS/GEM协议学习教程

摘要:SECS/GEM是半导体制造设备通信的国际标准,定义了主机系统与设备间的通信规范,包括设备控制、状态监控、数据采集等功能。协议采用分层架构(应用层、消息层、传输层、物理层),支持关键消息类型如S1F13(建立通信)、S2F13(数据采集)等。通信流程涵盖建立连接、数据交换和终止会话,并通过状态变量(SVID)、事件(CEID)等实现实时交互。典型应用包括设备初始化、报警处理及配方管理,需处理数据类型(如U2、A、L)和通信调试问题。

GitHub个人仓库地址:https://github.com/feiyuluoye ; 个人塔罗牌占卜平台:http://118.126.82.12:8080/ ; 欢迎广大Coding友共同交流讨论。 2060

关于网站的favicon.ico图标的设置需要注意的几点

关于网站的favicon.ico图标的设置需要注意的几点

昊虹AI笔记 2565

从拧螺丝到精密装配:三菱伺服电机扭矩控制在工业自动化中的实战解析

本文深入解析三菱伺服电机扭矩控制在工业自动化中的实战应用,重点介绍MR-J4系列伺服系统的高精度扭矩响应技术。从螺丝紧固到精密装配,详细讲解扭矩控制模式的选择、硬件配置、参数设置及典型故障排查方案,帮助工程师提升生产效率和产品质量。

weixin_29186249的博客 471

【网页】chrome浏览器favicon.ico缓存问题

每日鸡汤,每个你想要学习的念头都是未来的你向自己求助 终极解决方案,在这里都有 点击查看 今天我们来一次性解决一个问题,关于favicon.ico的问题。 favicon.ico 首先是一个图片,是网页tab头部显示的一个小图标 设置的方法是在head标签中加入以下代码 <head> <link rel="icon" href="favcion.ico" type="image/x-icon"></link> </head> 注意这里面.

有一棵树的博客 7424

Altera Cyclone4 EP4CE15F17C8核心板硬件设计避坑指南(附AD09工程文件)

本文深入解析Altera Cyclone4 EP4CE15F17C8核心板硬件设计中的关键问题与解决方案,涵盖电源架构优化、信号完整性处理、热设计及生产调试要点。特别提供经过验证的AD09工程文件,帮助开发者规避常见设计陷阱,提升FPGA项目的成功率与可靠性。

weixin_29159441的博客 297

【两方演化博弈代码复现】:双方演化博弈的原理、概率博弈仿真、相位图、单个参数灵敏度演化

演化博弈论是研究个体在特定环境中如何通过策略选择与其他个体进行互动的学科。这一理论在生物学、经济学和社会科学等多个领域都有广泛应用。本文将深入探讨双方演化博弈的原理及其过程,并解读一段 MATLAB 代码,展示如何模拟这一过程。

当回首往事的时候,不会因虚度年华而悔恨,也不会因碌碌无为而羞愧。 6199

获取网页标签图标favicon

像这种图标和网站域名不一样的,需要用js来获取,link标签有两种,一种是rel="icon",一种是rel="shortcut icon",这样就能获取到 favicon.ico啦,实际第一种也能通过这种方式来获取,如果还有其他类型的,欢迎留言。像这种favicon.ico图标可以直接用。

m0_67273164的博客 5223

第一章 初识SpringBoot

提供大量的自动配置Spring和第三方库,开发者可以根据项目需求选择相关的starters依赖,而无需手动配置大量的Spring配置文件,开箱即用,无需配置XML,无代码生成。Spring Boot与Spring Cloud等框架集成,为构建微服务提供了强大的支持,并通过Spring Cloud实现服务注册、负载均衡、熔断等功能。本质上讲,Spring Boot就是Spring,它做了那些本应我们去做的Spring Bean配置等工作。以上就是一个简单的Spring Boot应用的创建和运行过程。

Calvin的博客 1581

配置网站favicon.ico图标

设置网站图标favicon.ico,用户可以在浏览器上看到

qq_34352317的博客 887

线性代数-第24篇:线性代数在控制系统中的核心应用

线性代数通过状态空间建模、矩阵分解与优化算法,为控制系统提供了从理论分析到工程实现的完整框架。从传统PID控制到现代智能控制,其应用贯穿系统设计、分析与优化的全流程。未来,随着多智能体协同控制、量子控制系统等前沿领域的发展,线性代数将在高维矩阵计算、分布式优化等方向持续创新,为复杂控制系统的突破提供核心支撑。如果对线性代数在控制系统中的应用细节有疑问,欢迎在评论区留言!

无 424

单光子雪崩二极管(SPAD):原理、极高增益机制与微光探测解析

本文系统阐述了单光子雪崩二极管(SPAD)的工作原理及其在弱光探测中的应用。SPAD通过工作在盖革模式下的碰撞离化效应实现单光子探测,其核心机理包括:1)采用p+-n-n+结构实现高电场分布;2)通过雪崩倍增过程获得10^6量级增益;3)采用主动/被动淬灭机制实现快速恢复。文章详细分析了SPAD的关键性能参数(如光子探测效率、暗计数率等)及其在量子通信、激光雷达等领域的应用优势,揭示了该器件在极微弱光信号探测中的独特价值。

Fun_LiDAR的博客 1043

edge/chrome浏览器favicon.ico缓存问题

第一次设置了faccion.ico 后 再一次修改会发现修改不成功,图片还是上一次修改后的,这是因为浏览器的缓存导致。在href图片路径后加上参数例如:href="favicon.ico?

柑橘乌云_ 3028

【单片机】STM32F103C8T6 最小系统板原理图

STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。LQFP48封装(Low-profile Quad Flat Package,48引脚)SRAM(静态随机访问存储器):20 KB。支持JTAG调试和编程接口(可选)多个通用输入/输出口(GPIO)USB接口(用于USB设备模式)内置调试和编程接口(SWD)

q742971636的博客 6万+

vue 3.0项目标题icon根据域名动态修改显示不同favicon

文章目录前言一、favicon二、动态修改1.域名动态判断2.参考链接总结 前言 本人项目是vue3.0 cli项目,是多域名公用的前台项目,所以一个icon不能支持很多域名的项目同时使用。 提示:以下是本篇文章正文内容,下面案例可供参考 一、favicon <link rel="icon" href="<%= BASE_URL %>favicon.ico"> vue3.0引入的icon应该是如上所示,通过环境配置的。 二、动态修改 1.域名动态判断 代码如下(示例): 这个判

weixin_43837305的博客 1931

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

favicon.js 使用教程

favicon.js 使用教程 1. 项目的目录结构及介绍 favicon.js/ ├── LICENSE ├── README.md ├── favicon.js └── favicon.min.js LICENSE: 项目许可证文件。 README.md: 项目说明文档。 favicon.js: 项目的源代码文件。 favicon.min.js: 项目的压缩版源代码文件。 2. 项目的启...

gitblog_01149的博客 437

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Laravel Favicon:为你的Laravel应用添加动态图标

Laravel Favicon:为你的Laravel应用添加动态图标 1. 项目基础介绍 Laravel Favicon 是一个开源项目,旨在为 Laravel 应用程序提供生成动态 favicon 的功能。该项目主要使用 PHP 编程语言开发,利用 Laravel 的框架特性来实现环境特定的 favicon 生成。 2. 核心功能 动态图标生成:根据不同的环境设置(如开发、测试、生产等),生成...

gitblog_00124的博客 374

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

vue项目--favicon设置以及动态修改favicon(浏览器顶部小图标)

动态更新favicon之前需要有一个默认的favicon。 项目里会有一个static文件夹或者其它文件夹,存放静态文件。 favicon图片放到该文件夹下。 然后再index.html中添加: vue-cli2.0 <link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico"> vue-cli3.0 ...

岁末zzz的博客 8231

vue项目--favicon设置以及动态修改favicon(网站顶头的.icon小图标)

favicon图标的制作请看我前面的文章:https://blog.youkuaiyun.com/muzidigbig/article/details/80492902 favicon.ico一般用于作为缩略的网站标志,它显示位于浏览器的地址栏或者在标签上,用于显示网站的logo,如图红圈的位置, 目前主要的浏览器都支持favicon.ico图标. 目前vue-cli搭建的vue项目里面已经有了一个s...

muzidigbig的博客 3万+

React 中使用 webpack 动态添加 favicon 图标

本文探讨如何在React项目中使用 webpack 动态添加 favicon 图标。 如果你想要动态地在 html 中 添加 favicon 图标,建议使用 html-wepack-plugin 插件,使用一个模板html文件,通过webpack配置文件可以动态引入favicon图标,生成一个新的带有 favicon 的 html 文件。 安装 html-wepack-plugin: np...

赫拉莉的博客 7985

Laravel Favicon:为你的Laravel应用增添动态图标

Laravel Favicon:为你的Laravel应用增添动态图标 在现代Web开发中,用户体验的细节往往决定了产品的成败。而网站的favicon(浏览器标签页上的小图标)作为用户与网站交互的第一印象,其重要性不言而喻。今天,我们要介绍的是一个专为Laravel开发者设计的开源项目——Laravel Favicon,它能够根据你的环境设置动态生成favicon,让你的应用在不同环境中拥有独特的标...

gitblog_00100的博客 933

SpringBoot自定义欢迎页,favicon以及除去自动化配置

SpringBoot自定义欢迎页,favicon以及除去自动化配置 SpringBoot自定义欢迎页 spring boot中的欢迎也可以是静态的,定义在resources文件夹下的static目录下,可以是动态的,定义在templates目录下 例如在启动类新建HelloController package cn.itxiaoliu.welcome; import org.springfram...

liuzuoping的博客 660

在浏览器 favicon 上显示进度 很帅 很酷

Piecon Pie charts in your favicon! A tiny javascript library for dynamically generating progress pie charts in your favicons. Look up at your tabs for the live demo! Documentation Basic usage...

多交雨 195

vue中动态修改网页图标

当针对不同客户需要提供不同的图标时,页面其他图标好替换,但是网页图标就不太一样了,查阅之后提供如下方法: <script> let headHTML = document.getElementsByTagName('head')[0].innerHTML; let baseUrl = "<%= BASE_URL %>" headHTML += '<link rel="icon" href="'+baseUrl+pt_logo+'.ico"&g

一条咸鱼的blog 2437

favicon 不只是个图标

favicon 的概念 favicon 中文译名是收藏夹图标,不仅是网站的头像,也是其可以让浏览器的收藏夹中除了显示相应的标题外,还以图标的方式区分不同的网站。 浏览器的支持 FF 浏览器还支持动态的 favicon,让你的网站更有个性 一个冷知识 favicon 在一定程度上减轻服务器的流量带宽占用,一般为了提高网站的可用性,我们都会为...

weixin_33725270的博客 134

在 Chrome 扩展弹出页中读取网站 Favicon:chrome-extensions-samples 的 favicon 示例全解析

favicon 是 [api-samples/favicon](https://link.gitcode.com/i/5ed56cc814032be9c1d02ccd2dd35145) 目录下的一个 Manifest V3 扩展示例,它演示了如何在扩展弹出页(popup)中通过 `favicon` 权限读取任意网址的网站图标并显示出来。读完本文,你将掌握 `chrome.runtime.getUR

gitblog_00255的博客 649

favicon配置全指南:多格式兼容与跨浏览器精准显示

favicon(网站图标)是Web页面最基础的视觉标识,本质是HTML中通过<link>声明的资源关系,其加载依赖DOCTYPE声明、UTF-8编码及标准HTML结构等底层规范。它并非简单图片引用,而是涉及尺寸适配(16×16至192×192)、格式选择(.ico/.png/SVG)、MIME类型(image/x-icon)、路径语义(根相对URI)与平台扩展(apple-touch-icon、manifest)的系统工程。技术价值在于建立用户第一印象可信度、提升书签点击率与PWA安装成功率,并成为调试网络

aibi9196的博客 679
上一篇: Goole调试工具的使用
下一篇: 网页加载的生命周期
BugCollect
博客等级 码龄1年 104粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值