vue2 单文件组件加入浏览器的title和ico的方法

加入title:

代码:

复制代码
const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes,
});

// 在 router/index.js 的导出前添加
router.beforeEach((to, from, next) => {
  if (to.meta.title) {
    document.title = to.meta.title;
    
  }
  next();
});

加入ico代码:

复制代码
<template>
  <div>
    <!-- 组件内容 -->
  </div>
</template>

<script>
export default {
  name: 'MyComponent',
  mounted() {
    this.changeFavicon('/new-favicon.ico')
  },
  
  methods: {
    changeFavicon(iconUrl) {
      // 找到现有的 favicon 链接
      let link = document.querySelector("link[rel*='icon']") || document.createElement('link')
      
      // 设置属性
      link.type = 'image/x-icon'
      link.rel = 'shortcut icon'
      link.href = iconUrl
      
      // 添加到 head
      document.getElementsByTagName('head')[0].appendChild(link)
    }
  },
  
  // 离开时恢复原图标
  beforeDestroy() {
    this.changeFavicon('/original-favicon.ico')
  }
}
</script>

解释:

相关推荐
子非鱼a2 小时前
【XSS】乌托邦·王的实验室
html·xss
碳基修炼2 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
步行cgn2 小时前
Spring p 命名空间注入详解
java·前端·spring
何何____2 小时前
Vue 生命周期详解
前端·javascript
江米小枣tonylua2 小时前
TypeScript 全面の拥抱 !Prisma 8 + Electron 升级实战
前端
闪耀之光M782 小时前
npm命令解析
前端
咸鱼老弟2 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能
默_笙3 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
天若有情6733 小时前
粒子星空背景单页HTML模板|炫酷动态星空特效网页(纯前端)
前端·html·css动画·网页特效·粒子星空·静态网页模版
工业涂料百问3 小时前
【趋势前沿】系列(三)工业涂料国产替代的三个台阶:航空、海工、电子的突破路径与认证壁垒
前端