我在这里有一个非常大的JavaScript文件,我希望将其嵌入到我的网站中。 HTTP服务器非常智能,可以在将文件传送到浏览器之前对文件进行GZIP。
但是,我使用Google Chrome和Safari进行了测试。
在Chrome上,它运行良好。 400K压缩到100k左右:
Safari压缩上的
但不起作用:
有趣的是,在gz2b.png中你可以清楚地看到内容编码设置为“gzip”。
注意:我已经阅读了Safari中的GZIP-Bug,其中文件无法以“.gz”结尾,或者Safari不接受GZIP。由于我的文件不以.gz结尾,因此这个问题应该不是问题。
答案 0 :(得分:9)
我也遇到了这个问题,同时尝试在iOS7 Safari移动iPad上优化网站的加载时间。
Safari选择了一种非常奇怪的方式在调试器中表示这些数字。
答案 1 :(得分:7)
发送到Safari的HTTP标头说它已被压缩(它有Content-Encoding:gzip标头,它说内容长度是119406字节) - 我相信那些超过粗体数字 430.61 在Web Inspector中。它如何确定顶部列中的这些数字,我不知道。
如果您使用wireshark嗅探HTTP请求,您可以验证线路上有多少字节。
答案 2 :(得分:1)
这是不久之前,但我刚遇到一个非常相似的问题,或者可能是这个问题的根源。使用gzip压缩数据进行safari时,如下所示:
gzip jquery.min.js
你最终会得到一个jquery.min.js.gz,即使正确指定为gzip编码文件流,也会在很多其他线程中提到的关于此问题的jquery.jgz重命名时在Safari中失败。这似乎是因为文件名是在gzip文件中编码的。
如果你像这样编码一个gzip文件:
cat jquery.min.js | gzip > jquery.jgz
然后你将拥有一个小几个字节的文件,并且可以与Safari完美配合。