vue 动态设置系统在浏览器中的标题title和图标favicon

当系统在浏览器中打开时,浏览器页签会根据主页配置中的title和favicon显示,如何能根据系统配置,动态的更换title和icon呢?

vue中的配置

vue项目中默认是在index.html页面上设置的

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8" /><!--favicon 图标--><link rel="shortcut icon" type="image/x-icon" href="<%= BASE_URL %>favicon.ico" /><title>系统名称</title></head>
</html>

动态修改

在日常开发中,无论是单机部署还是saas应用,都会面临对系统的个性化设置,所以根据系统配置,动态修改title和icon是经常遇到的需求。

1、title

  • 可以直接使用 document.title 来设置页面的标题
  • 浏览器支持:所有主要浏览器都支持

2、favicon

Favicon 是显示在浏览器标签上的标志,一般为当前网站的Logo,用于快速识别系统或网站。

  • 静态设置示例
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
  • 动态设置

根据静态设置的原理,我们只要动态的修改ffavicon的href地址,就可以动态配置化显示了
代码示例:(vue+ts)

interface Element {href?: string;
}
const defaultLink: Element = {href: '',
};
/*** 修改网站Favicon * @param newIconPath Favicon 地址*/
export function changeFavicon(newIconPath: string) {if (!newIconPath) {return false;}let link: Element = defaultLink;link = document.querySelector('link[rel="shortcut icon"]') as Element;if (link && link.href) {link.href = newIconPath;} else {const newLink = document.createElement('link');newLink.rel = 'shortcut icon';newLink.href = newIconPath;document.head.appendChild(newLink);}
}
/*** 修改网站标题* @param title*/
export function changeTitle(title: string, icon: string) {if (title) {document.title = title;}if (icon) {changeFavicon(icon);}
}

在获取系统配置后,调用此方法,动态修改title和Favicon

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[技术闲聊]我对电路设计的理解(十二)-电源纹波测试

一、背景简介 电源测试有多项&#xff0c;譬如负载调整率&#xff0c;电压调整率&#xff0c;纹波测试&#xff0c;瞬态测试等&#xff0c;今天主要想谈谈电源纹波测试。 二、什么是电源纹波&#xff1f; 纹波产生的根源&#xff0c;BUCK电路&#xff0c;DC转DC&#xff0c;高…

用tkinter来实现扫雷游戏

本文使用创作助手。 可以用Tkinter来实现扫雷游戏。下面是一个简单的示例代码&#xff0c;用于展示如何通过Tkinter创建一个基本的扫雷游戏。 import tkinter as tk import random# 创建主窗口 window tk.Tk() window.title("Minesweeper")# 游戏参数 num_rows 1…

分组循环

子数组类问题 子数组&#xff1a; 子数组是指由原数组中连续的一段或多段元素组成的数组。如果有一个数组 A&#xff0c;那么它的子数组 B 是 A 中从某个起始位置 i 到终止位置 j&#xff08;满足 0 < i < j < A.length&#xff09;的所有元素组成的数组&#xff0c;即…

【沈阳航空航天大学】【实验课程】<类与对象编程作业>

实验课程作业 1. 编写数组类2. 设计一个班级类2. 设计一个学生类 1. 编写数组类 【问题描述】 建立一个数组类&#xff0c;数组个数不定&#xff0c;求该数组的平均值&#xff0c;并对该数组排序&#xff0c;其中类内成员数据&#xff1a;int *arr,int n&#xff08;其中&…

力扣热题100_链表_138_随机链表的复制

文章目录 题目链接解题思路解题代码 题目链接 138. 随机链表的复制 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&a…

数据库同步方案Sqlserver

数据库同步方案探究 随着信息技术的迅猛发展&#xff0c;数据库在各个领域的应用日益广泛。而在分布式系统、云计算、大数据等场景下&#xff0c;数据库同步成为了一个至关重要的问题。数据库同步不仅关乎数据的完整性和一致性&#xff0c;还直接影响到系统的稳定性和性能。因…

乐健体育刷分----AI运动的站姿风车

一.前情提要 1.本文仅作学习参考不得用于其他不当途径&#xff0c;若有问题后果自负 二.操作 1.打开乐健体育 2.点击AI运动&#xff0c;找到站姿风车 3.摄像头对准以下图片&#xff0c;拖动图片或保持不动均可 &#xff08;站姿风车2组及以上效果更佳&#xff09;

完成产品兼容互认,用KubeBlocks可实现OceanBase集群管理

本文转载自云猿生聊技术&#xff08;CloudNativeDataTech&#xff09; 前言 KubeBlocks&#xff08;简称 KB&#xff09;在最新发布的0.7版本中&#xff0c;通过组件扩展&#xff08;Addon&#xff09;的形式新增了对OceanBase的支持功能。这一更新为企业级和非企业级用户提供…

计算机视觉入门:开启图像理解之旅

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

记某客户的一次无缝数据迁移

背景 客户需要将 Elasticsearch 集群无缝迁移到移动云&#xff0c;迁移过程要保证业务的最小停机时间。 实现方式 通过采用成熟的 INFINI 网关来进行数据的双写&#xff0c;在集群的切换恢复过程中来记录数据变更&#xff0c;待全量数据恢复之后再追平后面增量数据&#xff…

数据结构__顺序表和单链表

顺序表的改进 问题&#xff1a; 1. 中间/头部的插入删除&#xff0c;时间复杂度为O(N) 2. 增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当前容量为100&#xff0c;满了…

[蓝桥杯 2017 省 AB] 分巧克力

文章目录 [蓝桥杯 2017 省 AB] 分巧克力题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题解思路代码如下&#xff1a; [蓝桥杯 2017 省 AB] 分巧克力 题目描述 儿童节那天有 K K K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 …

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程

原文链接&#xff1a;基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247600473&idx6&sn431e9408a42862d29fe4f4ef7703595b&chksmfa8208becdf581a820d9479d2aa61b88e96612c4ab72b0…

Flutter Engine引擎概念

1.Flutter是Google提供的开源框架。 2.本身由C编写并兼容iOS(底层C)/Android(底层C)平台的FlutterEngine框架负责UI渲染、数据转移、调用DartVM虚拟机。 3.FlutterEngine框架由Skia图形库、Dart运行时、Flutter框架代码组成。Skia是用于图形绘制和文本显示的2D图形引擎库&#…

蓝桥-回文日期

目录 题目链接 ​编辑 ​编辑 什么是回文数&#xff1f;​编辑 代码 100%过 90%暴力 优化写的暴力代码 题目链接 2.回文日期 - 蓝桥云课 (lanqiao.cn) 什么是回文数&#xff1f; 代码 100%过 把那个90%的代码的循环限制条件去掉就行了&#xff0c;题目只是限制了N…

描述如何在Vaadin中创建自定义组件。在Vaadin中,如何实现数据模型与UI组件的绑定?

描述如何在Vaadin中创建自定义组件。 在Vaadin中创建自定义组件是一个相对直接的过程。Vaadin是一个流行的Java Web框架&#xff0c;用于构建单页应用程序&#xff08;SPA&#xff09;和富客户端应用程序。下面是一个基本的步骤指南&#xff0c;描述如何在Vaadin中创建自定义组…

【前沿模型解析】潜在扩散模型 2-1 | 手撕感知图像压缩 基础块ResNet块

文章目录 1 残差结构回顾2 LDM结构中的残差结构设计2.1 组归一化GroupNorm层2.2 激活函数层2.3 卷积层2.4 dropout层 3 代码实现 1 残差结构回顾 残差结构应该是非常重要的基础块之一了&#xff0c;你肯定会在各种各样的网络模型结构里看到残差结构&#xff0c;他是非常强大的…

Vector Laboratories的凝集素--莲藕凝集素(Lotus Tetragonolobus Lectin)

莲藕凝集素&#xff08;lotustetragonolobus lectin&#xff09;是一个密切相关的糖蛋白家族&#xff0c;对含α-linked L-fucose具有相似的特异性。虽然莲藕凝集素的许多结合特性与荆豆凝集素I相似&#xff0c;但这些岩藻糖特异性凝集素之间的结合亲和力和某些寡糖特异性明显不…

学习大数据之JDBC(使用JAVA语句进行SQL操作)(3)

文章目录 DBUtils工具包准备工作DBUtils的介绍QueryRunner空参的QueryRunner的介绍以及使用有参QueryRunner的介绍以及使用 ResultSetHandler结果集BeanHandler<T>BeanListHandler<T>ScalarHanderColumnListHander 事务事务事务_转账分析图实现转账&#xff08;不加…

Cypress自动化测试开发指南!

cypress是基于JavaScript语言为编写语言的自动化测试开发工具&#xff0c;配合使用cucumber测试开发框架&#xff0c;以node.js为服务进程&#xff0c;可以简单的帮助测试人员完成需要人工手点的所有页面人机交互操作&#xff0c;可以模拟键盘和鼠标输入&#xff0c;快捷完成ca…