Gzip Javascript没有在浏览器

时间:2016-10-19 17:28:26

标签: javascript gzip

很抱歉,这是一个没问题,Chrome缓存在隐身模式下为我提供了旧版本的文件。

Tangent:作为网站所有者,缓存对于节省托管资金非常重要。但是当我是用户时,我绝不想在任何网站上使用缓存。 AFAIK无法在Chrome中完全永久地禁用缓存24/7,如果Chrome不是免费的话,这是一个巨大的交易破坏。

以下原始问题:

我做了什么:

  • 将我的Javascript复制粘贴到Closure Compiler
  • 将缩小的Javascript复制到名为spa_asdf.js
  • 的新文件中
  • 使用7-zip压缩到spa.js.gz,并采用最大压缩设置
  • 将gzip压缩文件重命名为spa.js
  • spa.js上传到S3存储桶
  • 设置S3元数据Content-Type: application/javascriptContent-Encoding: gzip
  • 将权限设置为可公开访问

如果我在浏览器中查看spa.js,它会正确解压缩并显示未压缩的代码。如果它在页面中由<script>加载,则无效,Chrome和IE11都会在文件中显示一堆无法识别的字符。

如何在<script>内使用解压缩文件?

1 个答案:

答案 0 :(得分:0)

不确定你的意思

  

如果它在页面中加载,则无法正常工作

但是这里加载了这个脚本的基本代码段,一切都在Chrome中正常运行(我已添加jquery以避免脚本错误,因为您的脚本取决于$的存在):

&#13;
&#13;
document.querySelector('.whatever').textContent = typeof $jscomp;
&#13;
.whatever {
  padding: 1em;
  border: 1px solid navy;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//mcmaster-static.s3.amazonaws.com/spa.js"></script>
<div class="whatever"></div>
&#13;
&#13;
&#13;