IE9でalphafilter.jsをそのまま使う場合のコード変更
僕はIEにPNG画像や背景を適用させるときには、「alphafilter.js」を利用しています。
理由としては、
- ソースやhead部分が比較的キレイなまま利用できる
- ほかのPNG適用ライブラリに加えて挙動が安定している
この2つです。
ただ、IE9が出たことによってもともと配布されていたコードではIE9には対応されておらず、少しの手直しが必要です。
修正する部分はalphafilter.jsの14行目。
【修正前】
if (navigator.userAgent.indexOf("MSIE")!= -1 && navigator.appVersion.indexOf("6.0")!= -1) {//for old ie var elements = getElementsByClassName("alphafilter"); for (var i=0; i<elements.length; i++) {
この最初の1行部分を以下に変えて上げれば正常に動くようになります。
【修正後】
if (navigator.userAgent.match(/MSIE\s*6\.0;\s*/i)) {//for old ie var elements = getElementsByClassName("alphafilter"); for (var i=0; i<elements.length; i++) {
古いブラウザの判定文でIE9が漏れていたのが原因なのではないかと思います。