0

Rails アプリを開発モードで実行するために webrick を使用しています。このページには 4 ~ 5 個の JavaScript ファイルが含まれており、これらも同じ Webrick インスタンスによって提供されています。

ie6 でページを読み込むと、JavaScript ファイルが最初の数行で切り詰められているように見えます。誰か説明してもらえますか? たとえば、ページに次のスクリプト タグが含まれている場合:

<script type="text/javascript" src="http://myserver:3200/javascripts/jquery.js"></script>

ページが ie6 に読み込まれると、javascript 構文エラーが発生し、Visual Web Developer (VWD) を使用すると、読み込まれた jquery.js ファイルを開くことができます。最初の ~30 行しか表示されず、停止します。

ie6 を実行している同じマシンから、curl を使用して同じ jquery.js ファイルをロードしようとしました。

% curl --verbose "http://myserver:3200/javascripts/jquery.js"
* About to connect() to myserver port 3200 (#0)
*   Trying xx.xx.xx.xx... connected
* Connected to myserver (xx.xx.xx.xx) port 3200 (#0)
> GET /javascripts/jquery.js HTTP/1.1
> User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8j zlib/1.2.3 libssh2/0.15-CVS
> Host: myserver:3200
> Accept: */*
> 
< HTTP/1.1 200 OK
< Connection: close
< Date: Thu, 14 May 2009 21:35:09 GMT
< Content-Length: 
< Last-Modified: Wed, 13 May 2009 20:38:23 GMT
< Content-Type: application/javascript
< 
* Closing connection #0

そのため、curl を介してページにアクセスすると、サーバーからコンテンツが返されません。wget と同じ。

ただし、ページ、またはFirefoxまたはChromeの個々のjavascriptファイルをロードすると、すべてが正常にロードされます。そのため、webrick と ie6 の間には、curl/wget と同じように奇妙な相互作用があります。私が試したもう1つのテスト:

% telnet myserver 3200
GET /javascripts/jquery.js HTTP/1.1
Accept: */*

HTTP/1.1 200 OK
Connection: close
Date: Thu, 14 May 2009 21:43:01 GMT
Content-Length:
Last-Modified: Wed, 13 May 2009 20:38:23 GMT
Content-Type: application/javascript

/*!
 * jQuery JavaScript Library v1.3.2
....

それはうまくいき、完全なファイルの内容を返しました。なぜie6/curl/wgetで読み込まれないのか説明に困っています。助言がありますか?

4

2 に答える 2