link标签预加载资源

link标签预加载资源【js、css、img…]

link标签通常用来引入css文件。也可以通过rel=preload属性来进行预加载

link预加载用法

预加载图片例子:

方案1

通过img标签预加载图片img1、img2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div style="display:none;">
        <img src="img1" alt="预加载图片1">
        <img src="img2" alt="预加载图片2">
    </div>
</body>
</html>

缺点:方法繁琐,代码不容易看懂。可通过方案2link标签进行预加载css,js,image…等资源

方案2

点击按钮加载图片秒出
去除<link rel="preload" href="img1" as="image" />图片加载展示卡顿

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="preload" href="img1" as="image" />
</head>

<body>
  <button id="button" onclick="loadImg()">加载图片</button>
  <img alt="预加载图片1">
  <script>
    function loadImg() {
      const img = document.getElementsByTagName('img')[0];
      img.src="img1"
    }
  </script>
</body>
</html>

link标签进行预加载css,js,image…等资源

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>preload</title>
    <link rel="preload" href="main1.css" as="style">
    <link rel="preload" href="main1.js" as="script">
    <link rel="preload" href="video1.mp4" as="video" type="video/mp4">
  </head>
  <body>
  </body>
</html>

type是MIME类型
资源都能通过 link 中 href 预加载:
audio, document, embed, font, image, js, css, worker, video…。

预加载设置跨域

  1. 前端link标签通过设置crossorigin=anonymous属性进行跨域预加载
  2. 服务器需要进行相应设置
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="preload" href="url1" as="img" crossorigin="anonymous">
  </head>
  <body>
  </body>
</html>

媒体查询预加载

在预加载的时候还可以进行媒体查询,当屏幕宽度达到条件才预加载。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Responsive preload example</title>

    <link rel="preload" href="img1.png" as="image" media="(max-width: 600px)">
    <link rel="preload" href="img2.png" as="image" media="(min-width: 601px)">

    <link rel="stylesheet" href="main.css">
  </head>
  <body>
    <header>
    </header>
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值