vue-head 插件设置浏览器顶部 favicon 图标 - 动态管理 html 文档头部标签内容

目录

  • 需求
  • 实现1
    • 1. 安装插件
    • 2. 项目内 main.js 引入
    • 3. vue页面使用
  • 实现2
  • 其他

需求

vue项目中浏览器页面顶部图标可配置

在这里插入图片描述

实现1

使用 vue-head 插件实现

  • vue-head 插件可实现 html 文档中 head 标签中的内容动态配置(npm 官网 vue-head 插件)

1. 安装插件

npm install vue-head --save

2. 项目内 main.js 引入

import VueHead from 'vue-head'
Vue.use(VueHead)

3. vue页面使用

我所有页面(所有路由)都用这个图标,因为 vue 项目是 SPA,只有一个页面,所以我在 APP.vue 使用
如果有不同路由展示不同图标的需求,则可在不同路由对应的 vue 文件中单独配置 head。

<script>
import { mapGetters } from "vuex";

export default {
  name: "app",
  components: {},
  provide() {
    return {
      reload: this.reload
    };
  },
  data() {
    return {
      // ...
    };
  },
  computed: {
    ...mapGetters(["theme", 'userInfo', 'sysConfigData']),
    // ...
  },
  methods: {
    // ...
  }, 
  mounted() {
    // ...
  },
  // 【主要代码】head 中每一个属性其实代表的就是 head 标签中的 mete标签、link标签、script标签、style标签等等……
  head: {
    meta: [
      // { name: 'application-name', content: 'Name of my application' },
      // { name: 'description', content: 'A description of the page', id: 'desc' }, // id to replace intead of create element
      // // ...
      // // Twitter
      // { name: 'twitter:title', content: 'Content Title' },
      // // with shorthand
      // { n: 'twitter:description', c: 'Content description less than 200 characters'},
      // // ...
      // // Google+ / Schema.org
      // { itemprop: 'name', content: 'Content Title' },
      // { itemprop: 'description', content: 'Content Title' },
      // // ...
      // // Facebook / Open Graph
      // { property: 'fb:app_id', content: '123456789' },
      // { property: 'og:title', content: 'Content Title' },
      // // with shorthand
      // { p: 'og:image', c: 'https://example.com/image.jpg' },
      // // ...
    ],
    // 【主要代码】不能使用 this 会报错 undefined
    // link: [
    //   { rel: 'icon', href: require('@/assets/favicon.png'), sizes: '16x16', type: 'image/png' }
    // ],
    // 【主要代码】使用this
    link() {
      return [
        { rel: 'icon', href: require(`@/assets/${this.sysConfigData['mon.sys.favicon']}.png`), sizes: '16x16', type: 'image/png' }
      ]
    },
    script: [
      // { type: 'text/javascript', src: 'cdn/to/script.js', async: true, body: true}, // Insert in body
      // // with shorthand
      // { t: 'application/ld+json', i: '{ "@context": "http://schema.org" }' },
      // // ...
    ],
    style: [
      // { type: 'text/css', inner: 'body { background-color: #000; color: #fff}', undo: false },
      // // ...
    ]
  }
};
</script>

实现2

使用原生 js 给图标标签 link 的图片地址 href 重新赋值

<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- 或 -->
<link id="favicon" rel="icon" href="<%= BASE_URL %>favicon.ico">
// 新的图标地址 iconUrl
document.querySelectAll("link[rel*='icon']").forEach(item => {
  item.href = iconUrl; // 赋值新的图标地址 iconUrl
})

// 或
const dom = document.getElementById("favicon")
dom && (dom.href = iconUrl) // 赋值新的图标地址 iconUrl

其他

npm 官网 vue-head

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

指针深入了解7

1.qsort的模拟实现&#xff08;冒泡排序的原型制作&#xff09; 1.排序整型 int cmp_int(const void* p1, const void* p2) {return *((int*)p1) - *((int*)p2); } void swap(char* p1, char* p2)//完成交换 {int tmp *p1;*p1 *p2;*p2 tmp;} void bubble_sort(void* base,…

“文化IP+AI交互数字人”,创新灯会活动互动形式

近日&#xff0c;数字人“少年李白”化身AI交互数字人&#xff0c;亮相横店影视城梦幻谷仙侠灯会&#xff0c;在现场与文化IP“狄仁杰”跨时空语音交互&#xff0c;为新春灯会带来了全新交互体验。在现场游客还可以向数字人“少年李白”提问&#xff0c;了解唐代历史、民俗风情…

上位机是什么?与下位机是什么关系

在工业自动化领域中&#xff0c;上位机是一项关键而引人注目的技术。许多人对上位机的概念感到好奇&#xff0c;想要深入了解其在工业智能中的作用。那么&#xff0c;上位机究竟是什么呢&#xff1f; 首先&#xff0c;上位机是一种用于工业控制系统的软件应用&#xff0c;通常…

《角斗士2》AI电影高清宣传片

《角斗士2》AI电影高清宣传片 The gladiator returns, a legend reborn in the arenas fires. From the dust of the Colosseum, a new hero shall rise. In the heart of Rome, a battle for freedom and justice shall be waged. The Colosseum roars with the bloodlust …

axios-AJAX入门

定义 概念&#xff1a;AJAX是浏览器与服务器进行数据通信的技术 使用 1.先使用axios库&#xff0c;与服务器进行数据通信 1&#xff09;基于XMLHttpRequest封装、代码简单、月下载量在14亿次 2&#xff09;Vue、React项目中都会用到axios 2.再学习XMLHttpRequest对象的使用…

H5 嵌套iframe并设置全屏

H5 嵌套iframe并设置全屏 上图上代码 <template><view class"mp-large-screen-box"><view class"mp-large-screen-count"><view class"mp-mini-btn-color mp-box-count" hover-class"mp-mini-btn-hover" clic…

数据库技术栈 —— B树与B+树

数据库技术栈 —— B树与B树 一、复习二、MySQL中的B树应用 一、复习 B树是多路平衡查找树的意思 参考文章或视频链接[1] 【王道计算机考研 数据结构】 二、MySQL中的B树应用 这篇文章里的计算题还是讲的不错的。 参考文章或视频链接[1] 《探究MySQL的索引结构选型》

计算机系统体系结构

文章目录 计算机系统体系结构1. 什么是计算机体系结构术语解释计算机系统体系结构所涉及的内容简单通用计算机结构计算机指令程序执行过程时钟 2. 计算机的发展机械计算机机电式计算机早期电子计算机微机和PC革命移动计算和云计算摩尔定律乱序执行 3. 存储程序计算机寄存器传输…

APT攻击是什么?如何进行防护

随着网络技术的飞速发展&#xff0c;APT&#xff08;Advanced Persistent Threat&#xff09;攻击已经成为网络安全领域的一个重大问题。APT攻击是一种高度复杂的网络攻击&#xff0c;其目标是长期潜伏并逐步深入到目标网络中&#xff0c;以窃取敏感信息、破坏关键基础设施或制…

如何有效获取 Go 变量类型?探索多种方法

嗨&#xff0c;大家好&#xff01;本文是系列文章 Go 小技巧第九篇&#xff0c;系列文章查看&#xff1a;Go 语言小技巧。 文章目录 Go 的类型系统类型获取使用 fmt.Printf类型选择类型选择反射 reflect.TypeOf 其他注意点错误处理性能考量 总结 在 Python 中&#xff0c;可以使…

AI绘画探索人工智能的未来

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-8fL64RHWVzwpzR6m {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

spdk技术原理简介和实践经验

一、导读 与机械硬盘相比&#xff0c;NVMe-ssd在性能、功耗和密度上都有巨大的优势&#xff0c;并且随着固态存储介质的高速发展&#xff0c;其价格也在大幅下降&#xff0c;这些优势使得NVMe-ssd在分布式存储中使用越来越广泛。由于NVMe-ssd的性能比传统磁盘介质高出很多&…

C语言指针学习(1)

前言 指针是C语言中一个重要概念&#xff0c;也是C语言的一个重要特色&#xff0c;正确而灵活地运用指针可以使程序简洁、紧凑、高效。每一个学习和使用C语言的人都应当深入的学习和掌握指针&#xff0c;也可以说不掌握指针就没有掌握C语言的精华。 一、什么是指针 想弄清楚什…

2024年第4届IEEE软件工程与人工智能国际会议(SEAI 2024)

2024年第4届IEEE软件工程与人工智能国际会议(SEAI 2024)将于2024年6月21-23日在中国厦门举办。 SEAI旨在为软件工程与人工智能领域搭建高端前沿的交流平台&#xff0c;推动产业发展。本次会议将汇聚海内外的知名专家、学者和产业界优秀人才&#xff0c;共同围绕国际热点话题、核…

cesium-场景出图场景截屏导出图片或pdf

cesium把当前的场景截图&#xff0c;下载图片或pdf 安装 npm install canvas2image --save npm i jspdf -S 如果安装的插件Canvas2Image不好用&#xff0c;可自建js Canvas2Image.js /*** covert canvas to image* and save the image file*/ const Canvas2Image (function…

红队渗透靶机:LEMONSQUEEZY: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 目录扫描 1、dirsearch 2、gobuster WEB phpmyadmin wordpress wpscan 登录wordpress 登录phpmyadmin 命令执行 反弹shell 提权 get user.txt 信息收集 本地提权 信息收集 1、arp ┌──(root㉿ru)-[~…

PRBS并行输出

PRBS&#xff08;Pseudo-Random Binary Sequences&#xff09;是通过LFSR和特征函数 伪随机数发生器产生的伪随机数序列&#xff0c;通常用于高速数字通信测试。 基本电路&#xff08;单比特输出&#xff09; prbs N表示用N比特lfsr尝试伪随机数序列&#xff0c;常用的有N7,9…

win10查看Nvidia显卡、cuda版本

通过cmd命令行查看 打开cmd命令行窗口&#xff0c;在命令行输入&#xff1a; nvidia-smi 即可看到相应的显卡信息&#xff0c;以及显卡支持的cuda版本。 如下图所示&#xff0c;可以看到显卡是"GeForce CTX 1650"&#xff0c;cuda版本是11.7

Mac brew教程

一、安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"二、查看brew版本 brew -vbrew -v 三、搜索软件 命令格式&#xff1a;brew search 软件名 eg&#xff1a; brew search nginx四、安装软件 命令格…

Springboot + EasyExcel + Vue 实现excel下载功能

一、添加EasyExcel依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</version></dependency> 二、后端代码示例 controller&#xff1a; GetMapping("/download&quo…