缓存的JS文件加载不完整

时间:2017-11-08 13:46:06

标签: javascript .htaccess google-chrome firefox caching

我有动态生成的JS文件。当浏览器第一次加载此文件时(它在浏览器缓存中不存在),它会正确加载。但是当浏览器从本地缓存加载此文件时,它是不完整的。我发现它只发生在分块发送的较大文件中(transfer-encoding:chunked)。

文件:https://www.venuspuzzle.com/html/custom.js
响应标头:

HTTP/1.1 200 OK
Date: Wed, 08 Nov 2017 13:33:33 GMT
Server: Apache/2.2.22 (Debian)
cache-control: public, max-age=31536000
expires: Wed, 07 Nov 2018 18:54:29 GMT
Last-Modified: Tue, 07 Nov 2017 18:54:29 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/javascript; charset=utf-8

首次加载时,文件已完成(大约有119kB),但是当你重新加载它(F5,cmd + R)时,它只有72kB并且不完整。当你重新加载整个页面时,在某些浏览器(Firefox,Edge)中也会发生这种情况。

附加信息:我使用htaccess来压缩和缓存JS文件,因此htaccess提供了与javascript相关的命令:

AddType text/javascript .js
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
ExpiresByType text/javascript "access plus 14 days"

有谁知道问题是什么?其他小的JS资源(如53kB)运行良好(例如https://www.venuspuzzle.com/wizard/venus-order-wizard.js

0 个答案:

没有答案