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>

解释:

相关推荐
Pu_Nine_913 小时前
IntersectionObserver 详解:封装 Vue 指令实现图片懒加载
前端·javascript·vue.js·性能优化
清灵xmf13 小时前
Web 和 Native 是怎么“对话“的?JSBridge 解答
前端·webview·native·jsbridge·hybrid
jiayong2314 小时前
前端面试题库 - ES6+新特性篇
前端·面试·es6
海兰14 小时前
【实用应用】React+TypeScript+Next.js博客项目
开发语言·javascript·elasticsearch
前端那点事14 小时前
Vue nextTick 超全解析|作用、使用场景、底层原理、Vue2/Vue3区别
前端·vue.js
前端那点事14 小时前
Vue面试高频:子组件能直接修改父组件数据吗?单向数据流原理+正确写法全覆盖
前端·vue.js
前端那点事14 小时前
为什么 Vue 的 template 标签不能用 v-show?底层机制+踩坑复盘+生产级解决方案
前端·vue.js
weelinking14 小时前
【claude】14_Claude作为技术文档助手
前端·人工智能·react.js·数据挖掘·前端框架
天问一14 小时前
router路由类型和使用方法
开发语言·javascript·ecmascript
jiayong2315 小时前
前端面试题库 - JavaScript核心基础篇
前端·javascript·面试