[IE] AlphaImageLoaderは表示をロックする場合があるようです
メモ。
IE6で透過PNGを表示しようと思うと、どうしても、ActiveXのフィルタである、AlphaImageLoaderを使う事になる。
CSSで次のような指定をするわけナンだが、
これが時折表示をロックしてしまうケースがあるらしい。
具体的には画面が真っ白けになる。
どういう時に発生するかってーと、アレだ。
このAlphaImageLoaderが同時にいくつもコネクションを張って表示しようとした時、コネクションを張ることができなかった場合に発生するらしい。
この辺は実の所、バッドノウハウとして有名っぽいですな。
ちょっと観点は違いますが、こういう事も記事になってるわけで。
Best Practices for Speeding Up Your Web Site
http://developer.yahoo.com/performance/rules.html#no_filters
IE7ではこの辺の処理が整理されているので、問題ないようです。
IE6で透過PNGを表示しようと思うと、どうしても、ActiveXのフィルタである、AlphaImageLoaderを使う事になる。
CSSで次のような指定をするわけナンだが、
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="xxx.png");
これが時折表示をロックしてしまうケースがあるらしい。
具体的には画面が真っ白けになる。
どういう時に発生するかってーと、アレだ。
このAlphaImageLoaderが同時にいくつもコネクションを張って表示しようとした時、コネクションを張ることができなかった場合に発生するらしい。
この辺は実の所、バッドノウハウとして有名っぽいですな。
ちょっと観点は違いますが、こういう事も記事になってるわけで。
Best Practices for Speeding Up Your Web Site
http://developer.yahoo.com/performance/rules.html#no_filters
The IE-proprietary AlphaImageLoader filter aims to fix a problem with semi-transparent true color PNGs in IE versions < 7. The problem with this filter is that it blocks rendering and freezes the browser while the image is being downloaded. It also increases memory consumption and is applied per element, not per image, so the problem is multiplied.
The best approach is to avoid AlphaImageLoader completely and use gracefully degrading PNG8 instead, which are fine in IE. If you absolutely need AlphaImageLoader, use the underscore hack _filter as to not penalize your IE7+ users.
IE7ではこの辺の処理が整理されているので、問題ないようです。
この記事へのコメント