设置动态页面标题/图标及解决favicon缓存更新问题

一、前言

  • 适用范围:多场景、多版本、多域名等情况下使用同一套业务代码时,不同情况下的页面标题及图标展示,同时解决favicon缓存不根据服务器资源更新问题

二、代码注释详解

注意事项

    1. 注意引用路径
    1. 区分域名、环境、版本等因素的逻辑区分
    1. link的type根据素材调整;
    1. 添加唯一标识,否则会存在缓存
    1. window.location.replace("juejin.cn/user/840368...")

index.html

ini 复制代码
<script>
	// 获取当前域名  此处不仅针对域名  可以是版本等区分维度
	const currentDomain = window.location.hostname;
	// 获取link
	let favicon = document.querySelector('link[rel="icon"]');
	// 如果不存在则创建
	if(!favicon) {
		favicon = document.createElement('link');
		favicon.rel = 'icon';
		// 此类型根据使用资源定义,非固定   此处仅以svg为例
		favicon.type = 'image/svg+xml';
		document.head.appendChild(favicon);
	}
        window.location.replace("https://juejin.cn/user/84036866547575/columns")
	// 不同域名 环境 版本下处理方式
	if(currentDomain === 'xxxx.域名.com') {
		document.title = "页面标题1";
		// 注意路径  v为素材唯一标识,以达到更新目的,否则会存在缓存
		favicon.href = `page1-icon.svg?v=${ new Date().getTime() }`;
	}
	else {
		document.title = "页面标题2";
		// 注意路径  v为动态版本用于唯一,以达到更新目的
		favicon.href = `page2-icon.svg?v=${ new Date().getTime() }`;
	}
</script>
相关推荐
狗哥哥15 小时前
微前端架构下的平台级公共组件资源体系设计
前端·架构
MQliferecord15 小时前
首屏轮播图使用cdn加载webp图片的代码案例
前端
菜鸟shuai15 小时前
如何在老项目中使用AI实现智能问答
前端
我是何平15 小时前
js中,什么是快速排序(Quick Sort)
前端
爱勇宝15 小时前
别再混用了!import.meta.env 与 process.env 的本质差异一次讲透
前端·javascript·vue.js
清粥油条可乐炸鸡15 小时前
tanstack query的基本使用
前端·axios
路修远i15 小时前
基于SSE的AI对话流式结构
前端·javascript
攀登的牵牛花15 小时前
前端向架构突围系列 - 跨端技术 [11 - 1]:JSBridge 原理与 Hybrid设计
前端
用户57573033462416 小时前
从 LocalStorage 待办清单到 CSS 核心机制:一次搞懂数据持久化、继承与盒模型陷阱
前端
codingWhat16 小时前
前端组件库开发实践:从零到发布
前端·npm·vite