プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
HTML5のIE8対応「html5shiv.js」の役割を誤解してた&HTML5のIE8対応って必要?
そろそろHTML5を導入するかと思いましてね。
でもIE8とか古いブラウザどうすっかなとも思いましてね。

「HTML5 ie8 対応」をキーワードにgoogle先生に訊いてみたのです。

そしたら出てくる出てくる。
やっぱ皆同じことで悩むのね。

いろいろなサイトに書いてあったのが
html5の新要素を認識させる方法として
「html5shiv.js」を使いましょうなやり方。

1.html5shivのサイトから必要ファイルをダウンロードして

2.HTMLのヘッダに以下のタグを埋める
<!--[if lt IE 9]>
<script src="./js/html5shiv.js"></script>
<![endif]-->

ってな説明です。

これらの説明を読んで私は誤解しちゃいましてね(^^ゞ
早速導入してみたのですが……

progressバーが出てこねーぞ!(T皿T)ノミ☆

ドラッグ&ドロップが利かねーぞ!(T皿T)ノミ☆
てかそもそも「draggable」認識してねーし(TAT)

なんでだよー。
jsファイルへのパスも間違ってないよー。
なんで「html5shiv.js」の奴が読み込まれないんだよー。

と誤解してしまったのです。
冷静に考えたら世の中そんな甘くないですよね(-A-)

「html5shiv.js」さんがやってくれるのは、IE8以下が無視してしまう
「article」「header」「main」等のHTML5で登場した新しいタグを
「あっ、これタグだから」って教えてあげる
(createElementして擬似的に認識させる)ところまでみたいです。

取りあえずタグとして処理されるからレイアウトもそこまでおかしくならないし
スタイルも適用されるってな認識でOKかな(--?

じゃあやっぱりHTML5で「うひょーすげー」って思った機能は
動いてくれないのかよー(つд`)・°・。
まぁものによっては(canvasとか)JavaScriptさんで擬似的に実現できるみたいですけどね。

う~ん(--ゞ

個人的にですね。
あくまで個人的な意見なので怒らないで欲しいのですが

これを「IE8対応」って言うのはどーなのよ?

って思います。
いやまぁ対応していると言えば対応しているのでしょうが、
お仕事で「HTML5でIE8以下にも対応」とか言われて
迂闊にOK出してたら今頃涙目じゃないですか。
お客さまの言う「IE8対応」って恐らく「IE8でもHTML5っぽい動きと見た目」でしょ?

いやホント。
別に誰かを非難する気持ちとかこれっぽっちも無いので
怒らないで欲しいのですが……。

HTML5を導入するならIE8以下は切るのが正解じゃないですかね?

わざわざHTML5を導入するのですから
HTML5で新しく対応された機能を使いたいじゃないですか。
ドラッグしたりcanvasでお絵かきしたりvideo埋め込んだり。
使わないならXHTML1.1でもHTML4でも別にいー訳だし。

ほんでそれをIE8に対応させるために
JavaScriptだなんだってのを駆使して
擬似的にHTML5っぽい挙動を実現するのであれば……

最初からXHTML1.1(HTML4)+JavaScriptでいーんじゃない?

と思ってしまうのです。
IE9以上はHTML5で実現、IE8以下はJavaScriptで実現、だったら
両方JavaScriptで実現した方がシンプルじゃね(--?
別にHTML5に固執しなくても良いじゃないですか。

将来的にIE8が無くなるのを見越してHTML5にしておくのであれば分かります。
ただその場合、HTML5で追加された機能の使用を控えるか
IE8以下で切ないことになる前提で導入してやっと通常のコストだと思います。
本来の意味での「HTML5のIE8対応」が必要なケースでは

1.HTML5対応ブラウザ用のHTML5で作成したWebサイト
2.HTML5未対応ブラウザ用のHTML5っぽい挙動をするWebサイト(JavaScriptを駆使した奴)

の実質2サイトを作るのと変わらないはずですので
コストの見積は倍近く行くんじゃないですか(--?
「JavaScript苦手」ってWebデザイナーさんも少なくはないでしょうし。
個人的には「スマートフォン対応」や以前の「IE6対応」以上に
悩ましい奴になる可能性を感じています。

でもそんな見積は通らなさそうですよ(つд`)・°・。

最後に余談ですが、実は私もHTML5で新しいWebサービスを立ち上げる気満々だったのです。
ただ、どーせHTML5で作るなら新しい機能であれこれやりたいし、
でもIE8以下を考慮するなら新しい機能の使用を控えるか
JavaScriptで何とかするしかなさげだし
でもそれだったら最初からJavaScriptで実現すれば良いわけだし
てかそもそも論として、最近忘れられがちなJavaScriptを無効にしている人を考慮すると
HTML5を使ってIE8以下を切り捨てるかHTML5の導入は様子を見るかの二択かなぁ、
でもなぁ……うんぎゃ~<( ̄◇ ̄;)>
と悩みまくりです。
どーしましょ(--?
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● HTML・CSS  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事