我遇到的问题是,当我压缩文件(在本例中为 jquery)然后保存 gzip 内容并使用 Content-Encoding: gzip header 将其传递到浏览器时,它将在所有浏览器中工作,除了Safari,它确实声明:“无法解码原始数据”
我已经需要对内容进行 gzip 压缩,因为这将从 µ-Controller 中交付,而 µ-Controller 仅有足够的空间来存储 gzip 压缩的内容,而且到目前为止,还没有足够的处理能力来即时进行 gzip 压缩如果我能全部存储就好了。
最佳答案
当您使用 gzip 为 safari 压缩数据时,如下所示:
gzip jquery.min.js
您最终会得到一个 jquery.min.js.gz ,即使正确指定为 gzip 编码文件流,并且重命名为 jquery.jgz 时,它也会在 Safari 中失败,正如有关此问题的许多其他线程中提到的那样。这似乎是因为文件名是在 gzip 文件中编码的。
如果您像这样编码 gzip 文件:
cat jquery.min.js | gzip > jquery.jgz
然后您将得到一个小几个字节的文件,并且可以在 Safari 中完美运行。
关于javascript - Safari:使用 GZIP 时为 "Cannot decode raw data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169082/