gpt4 book ai didi

javascript - 如何使从书签加载的JS文件的缓存失效?

转载 作者:行者123 更新时间:2023-12-02 17:08:08 25 4
gpt4 key购买 nike

我有一个如下所示的书签:

javascript:(function(){var a=document.createElement("script");a.type="text/javascript";a.src="//example.com/script.min.js";a.charset="utf-8";document.body.appendChild(a)})();

我的 .htaccess 文件中有以下内容以允许缓存文件:

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 month"
</IfModule>

问题是,有时我会对 script.js 进行更改,并且我希望使用书签的人们获取更新的文件以防止出现问题。

对于在我的网站上加载的文件,我通过对文件进行版本控制来解决此问题,但我不知道如何使用小书签来做到这一点。

最佳答案

显然,除非客户端检查服务器,否则客户端无法神奇地知道您已更新脚本。

因此,根据这一事实,您必须决定如何平衡检查服务器的成本与可接受的延迟量,并考虑到您希望为解决问题付出的努力。

恕我直言,最简单的解决方案是将缓存时间更改为一两天。

另外,查找“http etag”。如果做得正确,客户端每次都会检查服务器,但传输的数据量应该很小。

如果您不想为所有“.js”文件普遍更改 mod_expires 规则,那么世界上没有什么规定您必须使用“.js”作为所有脚本文件的扩展名。客户不在乎。

另一种解决方案是将“?dt=2014-07-31-01:00:32”等日期字符串附加到脚本文件中,但您可以制作日期字符串以强制每天重新下载一次,或者每隔几天,或每周一次,或每月一次,等等。

关于javascript - 如何使从书签加载的JS文件的缓存失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25070526/

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