2009年7月3日金曜日

【JavaScript】ajaxuploadのIE6でのズレをなんとかする

ファイルをアップロードするときにajaxuploadを利用して非同期にアップロードする処理を加えたけど、これがIE6でうまく動かない。

ブラウザによって「ファイル選択ダイアログ」を表示するクリックの位置がずれる。

今のところIE6だと発生するのだけれど、同じIE6でもコンソールで実行したときは大丈夫だけど、リモートデスクトップ環境で実行したときは駄目。・・・なぜ?

しょうがないのでずれても大丈夫なようにajaxuploadをハック。ajaxuploadのバージョンは3.5

295行目あたりに以下を追加

//for IE 6
if (typeof document.documentElement.style.maxHeight == "undefined") {
    input.style['margin'] = '-5px 0 0 -85px';
    input.style['fontSize'] = '32px';
    input.style['width'] = '40px';
}

IE6のときだけフォントサイズと横幅とマージンを調整。

デバッグするときはopacity=100にすると仕組みが分かる。

コメントを投稿
Related Posts Plugin for WordPress, Blogger...

Blog Archives