出来損ないのブラウザのくせに、IE6は未だにトップシェアである。
もうじきIE7にリプレイスされそうだが、それでもまだしばらく生き残るだろう。
Win98とかIE7が使えない環境ならいざ知らず、なぜにXPでIE6を使い続けるのか理解できないが、それがプリインストールの強みなのだろう。
Windowsにおいては、きっとFirefoxやOperaなんてその存在すら知らない、というよりブラウザが「選べる」ものだということすら知らないユーザがマジョリティなのだろう。
自分に与えられた自由や権利に気づかないのが無知の恐ろしさであり、管理する側にとっては幸いなのだろう。
自由は恐怖であり、逃避・放棄すべきものなのだ。
などと真面目なフリをしてみたが、実はIE6でアルファチャンネル(透過)PNGが表示できないとは知らなかったよ、ごめんなさい、という話である。
FF3とIE7だけで検証しちゃいけませんね。
いくらできそこないでも、トップシェア様を無視しちゃいけません。
というわけで対処法(IE6やIE5.5で強引に透過PNGを表示させる方法)を検索したら、出るわ出るわ、いっぱいあるのね。
http://homepage.ntlworld.com/b……ghowto.htm
http://www.twinhelix.com/css/iepngfix/
上記が有名どこみたいで試してみたが、CSSで背景指定したPNGとHTMLで指定したPNGを重ねてきれいにIE6で表示できるのは、後者の PNGFix v2.0 Alpha だったので、ファッシネイション本家サイトに導入してみた。
XOOPSの場合は使っているテーマの組み込むのが手っ取り早い。
まずはこちらのファイルをダウンロード。
http://www.twinhelix.com/test/……pngfix.zip
展開してできる iepngfix.htc iepngfix_tilebg.js blank.gif の3ファイルを使用しているテーマのディレクトリへ。
もし blank.gif を同階層ではなくimagesディレクトリなどへ置く場合は、iepngfix.htc を編集して相対パスを記入しておく。
ex)
IEPNGFix.blankImg = ‘blank.gif’;
–>
IEPNGFix.blankImg = ‘images/blank.gif’;
あとはtheme.htmlのヘッダ部分に下記を追記。
<!--[if lt IE 7.]>
<style type="text/css">
img, div { behavior: url(<{$xoops_imageurl}>iepngfix.htc) }
</style>
<script type="text/javascript" src="<{$xoops_imageurl}>iepngfix_tilebg.js"></script>
<![endif]-->
相対パスではうまく動作しないみたいなので< {$xoops_imageurl}>でテーマディレクトリを指定。
IE7.x未満にだけ適用されるように、IEの独自拡張で[if lt IE 7.]と指定。
ほかのブラウザには影響ない。
これで出来損ないブラウザへの対応終了。
ありがたくドネーションをPayPalで支払ったのであった。
……とオチをつけて終わろうと思ったら、検証用に使っていたVM上のIE6で透過ではないPNGも表示されなくなった。
一瞬だけ表示されて消える怪現象。
調べてみると、WindowsでのPNGがらみの不具合は多いらしく、レジストリが壊れているせいだとか、いろいろあるが、修正できない。
結局、5年振りくらいにVMwareにWin98を再インストールしましたよ。
2011年1月29日(Saturday) 2:15:48
2011年1月28日(Friday) 23:32:56
2010年11月6日(Saturday) 21:44:50
2010年11月6日(Saturday) 12:03:24