link[rel=“icon“]

该博客主要讨论了如何在前端设置站点信息,包括通过API获取站点Logo和名称,并将其应用于页面的favicon和标题。同时,还涉及到根据localStorage的主题设置来调整页面主题。内容涵盖HTML、CSS、JavaScript以及前端开发中的动态数据加载和用户体验优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据层

设置站点信息
setSiteInfo() {
  const url = window.location.host;
  siteApi(url).then((res) => {
    const resData = res || {};
    this.siteInfo.siteLogo = resData.frontEndLogo;
    this.siteInfo.siteName = resData.frontEndName;
    this.siteInfo.siteDefaultName = import.meta.env.VITE_GLOB_APP_TITLE;
    if (resData.frontEndLogo) {
      const linkDom: any = document.querySelector('link[rel="icon"]');
      if (linkDom) linkDom.href = this.siteInfo.siteLogo;
    }
  });
}

视图层

<!DOCTYPE html>
<html lang="zh-cn" id="htmlRoot">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="renderer" content="webkit" />
    <meta
      name="viewport"
      content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
    />

    <title><%= title %></title>
    <link rel="icon" href="/favicon.ico" />
    <script>
      this.globalThis || (this.globalThis = this);
    </script>
  </head>
  <body>
    <script>
      (() => {
        var htmlRoot = document.getElementById('htmlRoot');
        var theme = window.localStorage.getItem('__APP__DARK__MODE__');
        if (htmlRoot && theme) {
          htmlRoot.setAttribute('data-theme', theme);
          theme = htmlRoot = null;
        }
      })();
    </script>
    <div id="app">
      
      <div class="app-loading">
        <div class="app-loading-wrap">
        </div>
        <div class="app-loading-title"><%= title %></div>
      </div>
    </div>
    <script src="/resource/omg/omg.min.js"></script>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel=icon href=/static/dist/favicon.ico> <title>Document</title> <link href=/static/dist/css/chunk-13070ec1.ccda3c25.css rel=prefetch> <link href=/static/dist/css/chunk-1f6eb24a.5552800c.css rel=prefetch> <link href=/static/dist/css/chunk-2450c4ac.37f7ca9b.css rel=prefetch> <link href=/static/dist/css/chunk-24a27c0c.d809b953.css rel=prefetch> <link href=/static/dist/css/chunk-25dec777.b68c08db.css rel=prefetch> <link href=/static/dist/css/chunk-3a7e7ac7.61f67a30.css rel=prefetch> <link href=/static/dist/css/chunk-3ac3afd8.98bc23e9.css rel=prefetch> <link href=/static/dist/css/chunk-3b4a96bb.a0ee3bc1.css rel=prefetch> <link href=/static/dist/css/chunk-42b28a6b.64434a61.css rel=prefetch> <link href=/static/dist/css/chunk-517ab105.39040074.css rel=prefetch> <link href=/static/dist/css/chunk-56490945.643cad5c.css rel=prefetch> <link href=/static/dist/css/chunk-63b82705.d2b7ad58.css rel=prefetch> <link href=/static/dist/css/chunk-716622da.8a497f1a.css rel=prefetch> <link href=/static/dist/js/chunk-13070ec1.cc5aaa8f.js rel=prefetch> <link href=/static/dist/js/chunk-1f6eb24a.bca948d6.js rel=prefetch> <link href=/static/dist/js/chunk-2450c4ac.58e1bc6a.js rel=prefetch> <link href=/static/dist/js/chunk-24a27c0c.0ab7f6d8.js rel=prefetch> <link href=/static/dist/js/chunk-25dec777.2148f1f7.js rel=prefetch> <link href=/static/dist/js/chunk-3a7e7ac7.513dffb8.js rel=prefetch> <link href=/static/dist/js/chunk-3ac3afd8.6c148bd8.js rel=prefetch> <link href=/static/dist/js/chunk-3b4a96bb.73517657.js rel=prefetch> <link href=/static/dist/js/chunk-42b28a6b.1e8780b2.js rel=prefetch> <link href=/static/dist/js/chunk-517ab105.1e512cbc.js rel=prefetch> <link href=/static/dist/js/chunk-56490945.c3e3cef6.js rel=prefetch> <link href=/static/dist/js/chunk-63b82705.f1066fe6.js rel=prefetch> <link href=/static/dist/js/chunk-716622da.244a901e.js rel=prefetch> <link href=/static/dist/css/app.a627b381.css rel=preload as=style> <link href=/static/dist/css/chunk-vendors.3fe6fb1a.css rel=preload as=style> <link href=/static/dist/js/app.a15d8424.js rel=preload as=script> <link href=/static/dist/js/chunk-vendors.eac65f44.js rel=preload as=script> <link href=/static/dist/css/chunk-vendors.3fe6fb1a.css rel=stylesheet> <link href=/static/dist/css/app.a627b381.css rel=stylesheet> </head> <body><noscript><strong>We're sorry but iview-admin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript> <div id=app></div> <script src=/static/dist/js/chunk-vendors.eac65f44.js></script> <script src=/static/dist/js/app.a15d8424.js></script> </body> </html> 帮我整理一下代码
05-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值