javascript - Safari:使用 GZIP 时为 "Cannot decode raw data"

标签 javascript jquery safari compression gzip

我遇到的问题是,当我压缩文件(在本例中为 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/

相关文章:

jquery 窗口高度 iOS 7

css - 显示 :Flex not supported in Safari?

javascript - 如何在图像映射/交换中的图像之间创建淡入淡出过渡。

javascript - PhantomJS 从字符串创建页面

jquery - Firefox 不允许空白的 contenteditable 区域

jQuery和webkit,如何获取css({top :, left :}) to work?

Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、 bool 值)

javascript - 如何在 spring web 应用程序中添加外部 css 文件

php - 从url获取外部页面标题

javascript - 删除按钮不起作用