Как загрузить библиотеку JavaScript в Rhino с сервера, использующего кодировку gzip? - PullRequest
4 голосов
/ 10 мая 2011

В Rhino я привык загружать библиотеки javascript из URL, например,

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

(на самом деле это не работает, если вы сначала не предоставите среду, подобную браузеру, черезenv.js или аналогичный. Но Rhino удается получить файл и начать его компиляцию.)

Однако, если сервер предоставляет библиотеку javascript gzipped, кажется, что 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 загружать сжатые сценарии?

1 Ответ

1 голос
/ 13 мая 2011

Для этого есть отчет об ошибке .

...