2

我正在通过离线插件通过 react-loadable 和服务工作者使用代码拆分。它在 chrome 和 firefox 中完美运行。

但它在 Safari 上无法正常工作。当我转到不同的路线时,会为该路线加载块 js,它来自服务工作者,但服务工作者返回加密的 js(我猜),例如:N��}���S���� ��^+����

Safari 版本 - 11.1.1 同样发生在 iOS Safari 中

4

1 回答 1

0

我正在创建 brotli 和 gzip 压缩资产。但在服务工作人员文件中,我使用的是 brotli 压缩资产路径,因为 Safari 不支持 brotli,它无法解压缩资产。

为了解决这个问题,我创建了另一个服务工作者文件(sw-legacy.js)并检查了来自浏览器(标头)的支持压缩的请求标accept-encoding头并返回了相应的文件。

于 2018-07-05T20:11:45.070 回答