ASP.NETをNetscapeやFirefoxに対応させる方法
2005/02/07
この文書はVisual Studio 2003をベースに記述されています。Visual Studio 2005では通用しない恐れがあります。
ASP.NETは全てのブラウザ向けに対応されています。
ただし、そのブラウザがjsに対応しているかcssに対応しているかなどによって細かい挙動を制御しているので快適なユーザ体験とまでは行かないのが現実です。
これらはなぜでしょうか?
まずはC:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.configを見てみてください。(環境によって若干違います。)
<browserCaps>で検索すると473行目当たりに(環境によって違います)見つかると思います。
css1=false css2=false
と言う行でcss level1, css level2をいったん無効に設定しています。
その後<filter>と言う要素で、各ブラウザのサポート範囲などを既定しています。
<case match="^Mozilla[^(]*\(compatible; MSIE (?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))(?'extra'.*)">
結局ここにかかれていないと、cssも対応していない、jsも対応していないブラウザと言う扱いになってしまうわけで、それはoperaやnn7やfirefoxユーザにつらく当たっているかのように受け止められがちです。
そこで、 web.configやmachine.configを変更することによってサポートさせてしまうのが
http://slingfive.com/pages/code/browserCaps/browserCaps_tabs.txt
に書かれてあるBrowserCaps要素です。
これをweb.configに仕込むだけで、そのアプリケーションは新種のブラウザをサポートしていることになります。
是非積極的に取り込んであげましょう。