浏览器不会缓存我的* .js文件

时间:2018-01-30 14:42:09

标签: asp.net iis kentico

我无法弄清楚为什么我的浏览器没有缓存我的* .js文件。根据chrome,它应该是状态为304,并且/ app_themes /文件夹中的IIS公共响应标头在7天后设置为dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 18." UserInfo={NSDebugDescription=Invalid value around character 18.})))

google dev tools request

使用匹配的电子标签,请求/响应标头看起来不错:

enter image description here

我缺少其他一些IIS或Kentico设置吗?

编辑:我也尝试按照此answer在新标签页中打开主页和子页面但无效

但是......我认为它在Firefox中有效,所以看起来Chrome在某些情况下仍然忽略了标题

2 个答案:

答案 0 :(得分:2)

缓存控制中没有缓存可能是罪魁祸首。由于您直接引用该文件,因此您需要更改缓存控制。请按照以下说明操作应用主题文件夹。

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/staticcontent/clientcache

如果您通过Kentico提取文件(有一个特殊的网址,您将文件传递给我,但是如果您使用JavaScript网页部分添加JavaScript,那么我将无法回忆起我的用户)想想会使用Kentico设置进行文件缓存并放入正确的标题

答案 1 :(得分:1)

您可以查看settings\ performance \ client side caching

有2个设置"允许客户端缓存重新验证"和"在几分钟内缓存"。阅读帮助并与他们一起玩