prototype.js と pngfix.js の競合を解消する
prototype.js の Ajax.Request と pngfix.js の処理が競合(あるいは干渉)して、pngfix.js 側の処理が正常に行われなくなるという問題の解消策です。
この問題の発端は、pngfix.js を利用した「Movable Type 4 の透過 PNG ロゴを IE6 以下のブラウザで透過する」と、prototype.js を利用した「BlogPeople 等のリンクリストによる表示の遅延を解消する(その2:Ajax編)」のカスタマイズを同時に行うと「PNGが透過されません」というご質問を頂いたことによるもので、本エントリーにて回答致します。
両スクリプトの読み込み順序を入れ替える実験を行ったところ、
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="http://user-domain/pngfix.js"></script>
<![endif]-->
をページの一番最後(body 終了タグの直後等)に配置すれば、PNGが透過されるようになりました。
ただしタイミングによってはステータスバーに、
(残り1項目)ページ http://? を開いています...
という表示が継続してしまうので、完全な解決には至っていないかもしれません。
- dtree のサブカテゴリーリストにブログ記事タイトルを表示する for Movable Type
- Movable Type 4.1/MTOS のネイティブタグで dTree を実装する
- コメント投稿フォームの「情報を保存する」のチェックを外した時の振る舞いを変更する
- Parallax Backgrounds で背景画像のスクロール速度を変える
- Lightbox JS/Litebox で BlogPet を背景画像の下に隠す
- JavaScript の for 文のパフォーマンスを改善する
- Google マップの貼り付け用 HTML を valid にする
- Movable Type 4 の透過 PNG ロゴを IE6 以下のブラウザで透過する
- ツリー表示 JavaScript 「dTree」詳解
- dTree によるサブカテゴリーリスト for Movable Type
- HighSlide JS と prototype.js の競合を解消する
- HighSlide JS の onclick 属性を JavaScript で登録する
- Slider によるフォントサイズ変更でアクセシビリティを向上させる
- コメント投稿時にフォームボタンをグレーアウトする for Movable Type
- Slider の利用方法
- Highslide JS でサムネイル画像を拡大表示する
- JavaScript で文字をトリミングする(改善版)
- JavaScript で文字をトリミングする
- BlogPeople 等のリンクリストによる表示の遅延を解消する(その1:JavaScript編)
≫ SWFObjectとpngfix.jsは共存不可?? from mersy's lab
使うからには、ちゃんと中身をわからないといけないという指摘もありそうです。
ライブラリ等々を作ってくれてる方々に感謝しつつ使わせてもらってるわけですが。
... [続きを読む]
こちらの記事を参考に確認したところ問題なく透過できました!
まだ少ししか確認していませんが、今のところ
>(残り1項目)ページ http://? を開いています...
という表示は今のところ確認できていません。
ちなみにpngfix.jsの中身を見ている中で、
JavaScript の for 文のパフォーマンスを改善する
が適応できそうだった為、このカスタマイズも行っています。
ご教授ありがとうございました!
> 虎!さん
こんばんは。
ご連絡ありがとうございました。
無事に直ったようでよかったです。
ではでは!

