- 2008-08-22 (金)
- 技術
jQueryは1.2からheightメソッドやwidthメソッドでdocumentやwindowのサイズを取得することができるが、Opera9.5対応がされてないような気がしたのでメモメモ。
heightメソッドやwidthメソッドは本当に便利で以下のようにエレメントの幅や高さを簡単に取得することができる。
これはこれで重宝するメソッドではあるのですが、どうもOpera9.5でwindow(表示されている領域)の幅や高さを取得したときに思ったとおりにならなかった。
で、実際jQueryを見に行ってみた。
jQuery 1342行目
No~~~~~!
Operaの場合(jQuery.browser.opera)にdocument.body[ "client" + name ]で取得している。
このdocument.body[ "client" + name ]はおそらくOpera9.5未満のバージョンで有効なんじゃないかな?
今手元にその環境がないので確かめられないのだが、以下のとおり9.5からは
document.documentElement.clientWidthやdocument.documentElement.clientHeightを使うべきだと思う。
Opera 9
標準
document.body.clientWidth
document.body.clientHeight
互換
document.body.clientWidth
document.body.clientHeight
Opera 9.5
標準
document.documentElement.clientWidth
document.documentElement.clientHeight
互換
document.body.clientWidth
document.body.clientHeight
via: ブラウザの表示領域のサイズを取得する方法。 - Enjoy*Study
ということでOperaでうまく取得できないので、自作!
jQueryのメソッドをさらにラップする形にしてみました。
これでいけるっしょ!
でもこれだと今度9.5にしか対応していないから、バージョンごとに分けないといけないのか。
面倒だな〜w
次のjQueryのバージョンで直るのかな?
【関連する記事】
- Newer: jDropper.jsのブログパーツとBookmarklet
- Older: 買った本
Comments:0
Trackback:1
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1103
- Listed below are links to weblogs that reference
- jQueryのheight()やwidth()はOpera9.5に対応していない気がする from HouseTect, JavaScripter Blog
- [JavaScript][jQuery][Opera]Re:jQueryのheight()やwidth()はOpera9.5に対応していない気がする from 文殊堂 2008-08-25 (月) 18:24
- jQueryのheight()やwidth()はOpera9.5に対応していない気がする at HouseTect, JavaScripter Blog...

