MacIE は動的ロードで除けちまうのがいいかも

※ 実際の除外の様子は「JavaScript の動的ロードで(結果的に)Classic Mac を除外する」、「XMLHttpRequest を使ったスクリプトのロードは意外と面倒」を参照してください。

JScript のバージョン情報 (microsoft.com)

という情報があって、MacIE の JScript は調べるとバージョン 5 で、Array#push() がなかったり Ecma-262 3rd Ed. に準拠していないことが判明。XMLHttpRequest がどうとかいうレベルじゃない。

そこで、もうこういう環境で同じものをコンパイルして動かそうなんつーのは無理な注文として考える。ではどうやって切り分けるかっつーことなんだけど、

条件付きコンパイル (microsoft.com)

という手もあるんだけど、いちいち避けていくのは大変なので、スクリプトから XMLHttpRequest でスクリプトを動的ロードしちゃえばいいんじゃないだろうかという気がしてきた。1ライブラリをロードできた環境だけで JavaScript がまともに動く。そうでない環境はもう JavaScript が on になってても動かないものと解釈して無視する。

Junnama Online: Web2.0でもITベンチャーでも何でもいいけどさ、もう少しレベル上げろよ。

別にこれ読んだから書くわけじゃないんだけど、無視するってのは JavaScript による機能付加を諦めるって意味ね。この間も書いた、Ajax は「アプリ」じゃなくて「サイト」には使いにくい技術だなってのはこの辺にも通じる話。

ただ自分としては「非対応をはっきり言うサービスもアリ」だなと思ってる。それは単に情報や機能が提供できればいいわけじゃなくて、「操作性を含めた experience をサービスしている」と考えれば合点がいく2

つかね、無理なもんは無理だから。同じブラウザってカテゴリに属するソフトだからって同じ情報にたどりつけるとは限らないのはもう明白なことなんで。テキストブラウザで画像が表示できないってことで怒る人はいないでしょ? 画像が表示できないと何が何やらまったく意味が分からないから怒るんであって。ただそういう(非対応をはっきり言う)態度は、できるだけ広いユーザーにリーチすべき「サイト」としては容認できない場合もあるっつーことなわけ。

Web屋って一口に言っても企業の顔的サイトを扱う人もユーザー限定のイベント系サイトを扱う人も、イントラ用のツールを作る人も一緒くたに「プロ」で、お互いにお互いのことが分かっちゃいねぇって思ってるフシがあるからややこしいんだよな。

  1. これは将来的には WinIE 6 以前に緩やかに引退していただく場合にも使えそうだ。 

  2. そうは言っても Win + IE + MediaPlayer 以外お断り、みたいなサービスは権利処理の問題だけ(もしかしたらそれプラス開発サイドのツールの問題)のためにその組み合わせにしてるのが見え見えで心情的にはとてもイヤですが。ユーザーありきでサービスを提供せずに、機能というか技術的な問題とビジネスの問題が優先されてるわけだから。 

More