- 2008-08-22 (金)
- 技術
IE6.0、IE7.0、Opera9.5、Firefox3.0ではちゃんと画像の幅や高さが表示されるのに、
Safariでは画像のwidth属性やheight属性をキチっと指定しないと「0」になってしまう。
今回はjQueryを使ってサンプルを紹介していきます。
たとえば以下の場合
そんなに普段画像の幅や高さを取得したりすることは少ないかもしれないが、
意外とハマるので気をつけたい。
そしてこれを回避するためには以下のように画像のonloadを待つ必要がある。
これでSafariでようやく画像の幅、高さが取得できるが、毎回onloadイベントをbindさせるのも面倒だし、
バインドできないシチュエーションなんかもあるかもしれない。
なので単純にimgタグの中にwidth属性とheight属性を必ず書くようにする。
これでSafariの場合でも問題なく幅、高さを取得できます。
実際のデザインのときはだいたいimgタグのwidth属性とheight属性は書いているけど、
書き忘れ時にこの現象に遭遇するでしょう。
こうゆうのって意外とハマりますよね。
- Newer: 買った本
- Older: なんかものが落ちるjQuery Plugin - JDropper作りました
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1101
- Listed below are links to weblogs that reference
- Safariでは画像のloadが終わっていないとwidth、heightがうまく取得できない from HouseTect, JavaScript Blog


