问题描述
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<Meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
<link rel="prefetch" href="page2.html">
<link as="script" rel="prefetch" href="./src/script2.js">
</head>
<body>
<p>Let's check</p>
<a href="page2.html">Go to page 2 where script2 is there</a>
<script src="./src/script1.js"></script>
</body>
</html>
在这里,我正在预取第二个脚本 script2.js 。它已成功预取,但是当我单击页面2链接上的脚本标签为 script2.js 时,再次下载了script2,它并没有从预取缓存中获取它。
这是page2.html
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<Meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>This is page 2</p>
<script src="./src/script2.js"></script>
</body>
</html>
解决方法
遇到了类似的问题,原因是我在 Google Chrome 中禁用了缓存。
您可以在此答案中了解如何在 Chrome DevTools 中禁用/启用缓存https://stackoverflow.com/a/7000899/2992661