ひらい ぶらり Hi-Library

ぷろぐらみんぐについて。ときどきどうでもいいことについて。

ブラウザの表示領域を取得する2

ではスクロールバーなしのサイズを取ってこれないIEでどうするか。
というわけで、以下の手段をとることにする。
・現在の横幅を取得
・すべての要素の一番右端に当たるx座標を取得
・横幅<x座標ならばスクロールバーありとして、表示領域を-15pxする
みたいな感じ。
問題は二番目の一番右端に当たるx座標の取得なのだが、一応ライブラリであるといえばあるものの、再帰的に要素の階層を探って行ってどんどん座標を取得するため非常に重たい(らしい)ので、多少正確じゃないにしても軽い方でやることにする。
で、いとも簡単に要素の右端を取得できる関数があるらしいのだが、今のところFirefox2で動作できるのか確認していないので、純粋に
left + margin-left + margin-right + padding-left + padding-right + width
の値を要素の右端とする。
こうしてやれば、一応IEでもスクロールバー(はみ出し)の有無が判別できる・・・気がする。