読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

FireBugを1.4.0にするとWebrickサーバー上のJavaScriptファイルがデバッグできなくなった

Ruby

FireBugを1.4.0にアップデートすると、Webrickサーバー上のJavaScriptファイルがデバッグできなくなってしまった。「スクリプト」タブからjsのソースを開こうとすると、

The resource from this URL is not text: http://127.0.0.1:7000/js/xxxx.js

とか言われて、コードが表示されない。

原因

WebrickのデフォルトのMIME type一覧に、「js」に対応するMIME typeが設定されておらず、「application/octet-stream」が返されてくることが原因。FireBug1.4.0からMIME typeをチェックしてテキストファイルでなければデバッグ対象としないようになったみたいですな。

対策

Webrickサーバーで正しいMIME typeを返す設定をしてやればOK。具体的には、「HTTPServer.new(config)」の「:MimeTypes」設定を以下のとおりカスタマイズすれば、コードが表示されデバッグできるようになります。

param[:MimeTypes] = WEBrick::HTTPUtils::DefaultMimeTypes.merge({"js"=>"application/javascript"})

なお、JavaScriptMIME typeはRFC 4329で定められているようなので、それを利用してます。