gpt4 book ai didi

html - 发布新图像时确保图像不会在客户端浏览器中兑现的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 09:25:50 25 4
gpt4 key购买 nike

我们多次从客户那里得到问题,即与最新版本一起发布到生产网站的新图像没有出现在他们的浏览器中。最好的解决方案是什么?

  1. 图像文件夹的 IIS 内容在我可以执行的发布后到期。

问题是我必须将其打开几天,可能直到 99% 的用户访问了该站点。

  1. META 标记、HttpCacheability.NoCache 等将不起作用,因为这些是图像。

  2. 对于 JS 和 CSS 或网站图标,很容易以编程方式在链接末尾添加版本。但是对于图像怎么办?链接也可以来自 CSS。

所以我能想到的唯一选择是每次都更改图像名称:(

或者在站点中添加一个包含所有图像链接的字符串,在 checkin 时应将其替换(用脚本)为发布版本号。

还有其他选择吗?

最佳答案

1- 标题

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

但有时,浏览器会忽略它们。

2- url参数

<img src="myimage.jpg?1243"/>

您可以通过 html 上的 javascript 或脚本服务器端执行此操作。

3-.htaccess

以编程方式将序列号添加到源中的文件名:

 filename[.serial].ext

然后在你的服务器上添加一个 .htaccess 而不是修剪那个序列号

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>

关于html - 发布新图像时确保图像不会在客户端浏览器中兑现的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25888194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com