OSX+Safariのバグ
Document.writeでページヘッダーを書き出すページを書いていて、よくあるプルダウン(DIVの箱を出したり消したり)を実装したのだが、
どうもDocument.writeでDIVレイヤー(プルダウン部分、絶対座標指定)を書くと、本文部分の下にDIVレイヤーが潜ってしまう挙動が発生した。
Z-indexを幾ら操作しても直らず(下に潜る)。
プルダウンをDocument.writeを一時的にやめて、本文に直接書くと直る(本来結果は同じ筈)。
どうも他のブラウザ(WinSafariすら)と挙動が違うのでこれはSafariのバグなんだろうなと。
こんな感じの。
<script>
document.write(Div箱 style=absolute)
</script>
Div箱 style=overflow:hidden
HTMLで、
上で書いたDIV箱が下のDIV箱に潜っちゃう。
これだと
Div箱 style=absolute
Div箱 style=overflow:hidden
もぐらない
それぞれをさらにDiv箱でくくってみたりしてもダメ。
どうもIEのセレクトタグのZ-indexバグや、OS9のFlash要素Z-indexバグみたいに一番優先されてしまうバグらしい。
本文となるDiv箱をこんな風に
<script>
document.write(Div箱 style=absolute)
document.write( $(divhako).innerHTML )
</script>
Div箱 id=divhako style=overflow:hidden;display:hidden;
Documentwriteで書いてもダメ(これが意味不明)
結局下とになる予定のDIV箱のOverflowを無くす事で回避が出来た、まあWin版とMac版のSafariで挙動が違うのでバグだろね。
でもこれじゃーWindows版のSafariで開発ラクチン〜!とか言えないなあ…。
まあ、そもそもWindows版のSafariはProxyが使えんのでどうしようもないのだが(イチイチSocksを別アプリから履かせるのめんどい)