如何从使用gzip编码的服务器加载Rhino中的javascript库?

时间:2011-05-09 21:09:21

标签: javascript gzip rhino content-encoding

在rhino中,我习惯于从URL加载javascript库,例如

load('http://latex.mathoverflow.net/mathjax/MathJax.js')

(除非您首先通过env.js或类似方式提供类似浏览器的环境,否则这实际上不起作用。但是rhino设法获取文件,并开始编译它。)

但是,如果服务器提供gzip的javascript库,rhino似乎立即失败并出现语法错误,例如

load('http://cdn.mathjax.org/mathjax/latest/MathJax.js')

您可以使用curl查看差异,例如

curl --head http://latex.mathoverflow.net/mathjax/MathJax.js

给出

HTTP/1.1 200 OK
Date: Mon, 09 May 2011 21:07:53 GMT
Server: Apache
Last-Modified: Fri, 07 Jan 2011 05:13:36 GMT
ETag: "24b8044-9db7-4993aae2a4000"
Accept-Ranges: bytes
Content-Length: 40375
Vary: Accept-Encoding
Content-Type: application/javascript

,而

curl --head http://cdn.mathjax.org/mathjax/latest/MathJax.js

给出

HTTP/1.0 200 OK
Server: nginx
Date: Sun, 08 May 2011 20:06:19 GMT
Content-Type: application/javascript
Last-Modified: Sun, 13 Mar 2011 17:30:00 GMT
ETag: "3f59e66-a250-49e608b6bf600"-gzip
Accept-Ranges: bytes
Content-Encoding: gzip
Cache-Control: max-age=86400
Content-Length: 12466
Age: 3624
X-Cache: Hit from cloudfront
X-Amz-Cf-Id: d0e2d89a0d90c9b7bb49b466e233b005389f96db378543b01de51769589f84dfd9733430f773846f
Via: 1.0 fee706bb2dcbccabb9a09a17e9d6037c.cloudfront.net:11180 (CloudFront), 1.0 6d5d46d2c7dcee5d4601d83b29b92a90.cloudfront.net:11180 (CloudFront)
Connection: close

有什么建议吗?是否有允许rhino加载gzip压缩脚本的技巧?

1 个答案:

答案 0 :(得分:1)

现在有一个bug report