FireBugを1.4.0にするとWebrickサーバー上のJavaScriptファイルがデバッグできなくなった
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"})
なお、JavaScriptのMIME typeはRFC 4329で定められているようなので、それを利用してます。