设置动态页面标题/图标及解决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>
相关推荐
喵个咪8 小时前
GoWind Admin 拆解:打印模板设计器——从画布到服务端 PDF 的完整打印链路
前端·后端·go
总要学点什么8 小时前
第96篇:三维数据加载-城市建筑白模样式+着色器——让色带按体量上色,最白的那档却涂不上去
前端·gis·webgl·cesium·着色器·空间分析·白模
Hilaku9 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
徐小夕9 小时前
开源Vector-Graph-RAG:向量+图谱双引擎,打破纯向量RAG的效果天花板
前端·vue.js·github
SameX9 小时前
HarmonyOS ArkTS 把组件截图保存成 PNG 再调系统分享面板的做法
前端
Swot9 小时前
SvelteKit SSG 发布后,为什么老访客非要强刷才能看到新内容?
前端
鸿蒙开发9 小时前
小程序存档写到一半怎么办?双槽保存与损坏恢复实战
前端·javascript·react.js
知忆_IS10 小时前
TerriaMap 开发实战04:MVT数据自定义符号化 - terriajs源码修改
javascript·webgis·terriamap·terriajs
卸任11 小时前
AI 编程工具越用越多,模型配置越来越乱:用 Magpie 把它们管起来
前端·ai编程
前端一课11 小时前
凝神诀
前端