用户尝试刷新时如何硬刷新?
How to hard refresh when user tries to refresh?
当用户刷新网站时,我的网站出现缓存 svg 问题。但是当用户硬刷新时,问题就不存在了。
因此,当用户尝试刷新网站时,我希望它进行硬刷新。我该怎么做?
我正在使用打字稿。
这有两个组成部分,
- 了解用户想要刷新
- 用户的硬刷新
我也试过了
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate, post-check=0, pre-check=0" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
none 他们成功了。
尝试为您的资产添加一些时间戳。
src="your.svg?ts=321321323"
只需将 URL 的唯一查询添加到您的 html src 属性,例如使用时间戳:url + '?' + Date.now()
每次都会生成新的数字,所以你会得到新的文件版本。
您可以使用 version control
.
在客户端上使 CSS
/JS
保持最新
与使用时间戳相比的优势在于,它不会强制最终用户在每次刷新或登陆页面时都下载资源,相反,他们只会在有更新时下载文件。您可以手动执行此操作,例如:
<link rel="stylesheet" href="css/file.css?version=0.0.1" />
当然,这样做的问题是,您每次进行更改时都必须记住执行此操作。但这确实意味着用户只会下载已更改的特定文件。您可以使用像 PHP 这样的服务器端语言来创建一个变量,然后简单地附加到 ?version=
以执行 全面更新 ,您只需将变量值更改为更新。然而,这将在每次更新时更新 每个 个文件。
<?php $version = '0.0.1'; ?>
<link rel="stylesheet" href="css/file.css?version=<?php echo $version; ?>" />
<link rel="stylesheet" href="css/file2.css?version=<?php echo $version; ?>" />
<link rel="stylesheet" href="css/file3.css?version=<?php echo $version; ?>" />
可能有一种方法可以处理香草 JavaScript
,但我对 JavaScript 的了解比我对 PHP 的了解要有限得多。
当用户刷新网站时,我的网站出现缓存 svg 问题。但是当用户硬刷新时,问题就不存在了。
因此,当用户尝试刷新网站时,我希望它进行硬刷新。我该怎么做?
我正在使用打字稿。
这有两个组成部分,
- 了解用户想要刷新
- 用户的硬刷新
我也试过了
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate, post-check=0, pre-check=0" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
none 他们成功了。
尝试为您的资产添加一些时间戳。
src="your.svg?ts=321321323"
只需将 URL 的唯一查询添加到您的 html src 属性,例如使用时间戳:url + '?' + Date.now()
每次都会生成新的数字,所以你会得到新的文件版本。
您可以使用 version control
.
CSS
/JS
保持最新
与使用时间戳相比的优势在于,它不会强制最终用户在每次刷新或登陆页面时都下载资源,相反,他们只会在有更新时下载文件。您可以手动执行此操作,例如:
<link rel="stylesheet" href="css/file.css?version=0.0.1" />
当然,这样做的问题是,您每次进行更改时都必须记住执行此操作。但这确实意味着用户只会下载已更改的特定文件。您可以使用像 PHP 这样的服务器端语言来创建一个变量,然后简单地附加到 ?version=
以执行 全面更新 ,您只需将变量值更改为更新。然而,这将在每次更新时更新 每个 个文件。
<?php $version = '0.0.1'; ?>
<link rel="stylesheet" href="css/file.css?version=<?php echo $version; ?>" />
<link rel="stylesheet" href="css/file2.css?version=<?php echo $version; ?>" />
<link rel="stylesheet" href="css/file3.css?version=<?php echo $version; ?>" />
可能有一种方法可以处理香草 JavaScript
,但我对 JavaScript 的了解比我对 PHP 的了解要有限得多。