IE7で出来てIE6で出来ないアレ
IE6で透過情報を持つpng画像を使用したサイトを閲覧すると、どうにもよろしくないワケです(つまりココのコトね)が、コレはいわゆるMSさん的俺様仕様によるモノで、IE7からようやくマトモ?に見られるようになったワケです。
ただ、IE7はIE6と比べてイマイチ安定性に欠けるとか表示できないサイトが時々あったりとか言うハナシもちらほら。そんなこんなでいまだにIE6で頑張っていらっしゃる方も結構いそうです。*1
IE7もまだまだW3Cで勧告されているHTMLやCSSの標準に準拠しているとは言い難く、このあたりはSafariやOpera,Firefoxなどに差をつけられちゃっています。
まぁ、IE系だけで使えるタグ(フィルター)で特殊効果をつけたりSafariで実装されている文字のシャドウ効果などでサイトを飾るって言うのもちょっと魅力ではありますけど。*2
Webデザイナーなどは、これらブラウザ間の表示の相違を何とかするためにコードを書くたびあの手この手でレイアウトなどが崩れて見えないようにしているわけですが、この作業が軽減されるだけでもカナリ違ってくると思うわけです。
で、ブラウザに手を入れられないのならスクリプトで何とかしてIEで閲覧されてもちゃんと表示できるようにしてやりましょうというモノがありまして・・・
IE7.jsとか
Google codeで公開されているIE7.jsですが、ライブラリファイルを落としてきてサーバに仕込むのもアリですけど、自前のサーバを持っていなくてもGoogleのサーバにアップロードされているスクリプトファイルへ直接リンクを指定して使えるというとってもオイシイ仕様になっていますので、どっかのサーバを借りてブログなりHPなりを公開している方ならば、各ページの<head>〜</head>間に以下のコードを追加するだけで、IE7相当の見え方になるらしいです。
- IE7.jsを有効にするには以下のコードをHTMLファイルの</head>の手前に追加。対象ブラウザはIE5〜IE6
これでIE6ユーザーでも透過pngがまともに見えるようになる・・・かも。
<!--[if lt IE 7]> <script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE7.js" type="text/javascript"></script> <![endif]-->
現在、IE7.jsとIE8.jsが公開されており、IE7.jsはIE6以前のブラウザをIE7と同等の表示にしてくれるモノ。
IE8.jsの方はよりWeb標準に近づいた表示へとしてくれるそうなので、今のところWebKit使用のSafariと同等の表示*3になるのではないかと思われます。*4
- IE8.jsの場合は以下を上記と同様に。対象ブラウザはIE5〜IE7
<!--[if lt IE 8]> <script src="http://ie7-js.googlecode.com/svn/version/xx.x/IE8.js" type="text/javascript"></script> <![endif]-->
IE7.jsとIE8.jsを同時に使用できるかどうかは残念ながらワカリマセン。
hatenaなどのブログサービスを利用している場合ヘッダ内は弄れない場合がほとんどですので、サービスの提供側が対応してくれるまで待つしかないですね。
だれかはてなアイディアとかはてなダイアリー日記のコメントあたりに投稿しないかしらん(他力本願・・・汗)
*1:自分もずいぶん前にIE7にしてSleipnir使ってますが、今のところそれほどひどい目にはあってないですね。
*2:次期ブラウザのIE8では[http://www.webstandards.org/action/acid2/:title=ACID2テスト]にも合格の見通しだそうで、ようやくWeb標準に近づくらしいですけどね。
*3:というかコードのレンダリング結果のことね。GeckoやPrestoエンジンも悪くはないと思うのですが、WebKitが今のところもっともWeb標準に近いらしいので。
*4:こんなこと書いてるくせにワタシってばまだ仕込んでいないので、今週末にでも自鯖のブログへIE8.jsのコードを追加してみるつもり。