Vue3动态设置网页icon图标

<!doctype html>
<html lang="en">

<head>
 <meta charset="UTF-8" />
 <link rel="icon" type="image/svg+xml" href="/vite.svg" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 <title ref="title">Vite + Vue + TS</title>
</head>

<body>
 <div id="app"></div>
 <script type="module" src="/src/main.ts"></script>
 <script type="module">
  window.onload = function () {
   // 获取链接元素 
   var link = document.querySelector('link[rel="icon"]');  
   var title= document.getElementsByTagName("title")
   //第一步,创建XMLHttpRequest对象
   var xmlHttp = new XMLHttpRequest();
   xmlHttp.open("get", `${import.meta.env.VITE_API_URL}/api/user/getSite`, true);
   xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
     // 成功响应,处理数据 
     var responseData = JSON.parse(xmlHttp.responseText);
     let img=responseData.data.siteLogo
    //  固定写法获取接口返回的base文件转为图片
     link.href = `data:image/jpeg;base64,${img}`; // 将 '/new-icon.svg' 替换为你想要使用的动态图标路径 
     title[0].innerHTML=responseData.data.siteName
     // ... 进一步处理 responseData ... 
    } else if (xmlHttp.readyState == 4) {
     // 请求完成,但状态不是200,处理错误 
     console.error("Request failed with status:", xmlHttp.status);
    }
   };
   xmlHttp.send(""); //"
   // 更改链接 
   
  };
 </script>
</body>

</html>

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值