JavaScript IE6 absoluteと再描画できない

2009/03/6

こんばんは。きんくまです。

それにしてもIE6はJSの処理が遅いですね。これが出た当時ってまだ、GoogleMapsが出てなかったんだろうか?
あれでAjaxがもてはやされたから、ブラウザのJS実行速度競争が始まったんだと思うので、まだ出てなかったらしょうがないよなあ。

で、今回の話題です。
IE6でposition:absoluteにしていたときに、JSで再描画処理をするとbackground-imageがたまに描画されないときがありました。この「たまに」というのがポイントで、毎回じゃないんです。通常のimgやtextは毎回描画されるので、バグだと思います。

これはどうしようもないんですかね。これをどうしても回避できなかったので、仕方なくいつもの通りclearfixとfloatのレイアウトに戻したところ起きる確率が減りました。
散々ネットで解決方法を探してみたんですが、JScriptからブラウザの描画処理を呼び出す関数とかが見つけられなかった、、。
この強制再描画処理さえできれば、いろいろと悩まずにすむのに、、、、。
AS2でいうupdateAfterEventです。

それから、IEのデバッグで今までスタンドアローン版を使っていました。が、このIE6はcssのfilterができないのか、iepngfix.jsを使ってもうまく透過してくれません。
そこで、
IE5.5, IE6, IE7, IE8の確認が同時にできる -IETester
です。これだとIE6でもfilter処理のテストがうまくできました。
スタンドアローン版と併用して使っていこう。

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る