- 2008-07-28 (月)
- 技術
イメージタグを使ってなんらかのWebサービスに値をPostしたい場合に、そのElementがdisplay:noneだとなぜかOperaだけPostされなかったです。
あんまりdisplay:noneにしなきゃいけないシチュエーションは少ないかもしれませんが、これもまたブラウザの仕様なんですかね。
サンプルHTMLはこんな感じです。
以下Postされるかされないかの一覧です。
- IE6.0
- Postされる
- IE7.0
- Postされる
- Netscape7.1
- Postされる
- Safari3.1
- Postされる
- Firefox3.0
- Postされる
- Opera9.25
- Postされない
ただOperaのバージョンが9.25なので、最新の9.5でどうなっているかは試していませんw
■追記
コメント欄にて教えていただきました。
どうやら9.5から改良が入り読み込むみたいです。
まず前提として、Operaではdisplay:noneな画像(直接指定されていなくても、親のdisplay:noneを継承していれば)は読み込みをしない(リクエストが発生しない)という特徴があります(おそらく表示の高速化のためでしょう)。そのため、以前のバージョンではonloadイベントが発生することもありませんでした。
対して、Opera9.5ではimgにonloadが記述されている場合はdisplayに関わらず読み込みを行うように修正されました。
via: Opera9.2から9.5でのJavaScript周りの変更点 - 0x集積蔵
【関連する記事】
Comments:3
- edvakf 2008-07-28 (月) 23:36
-
あまり詳しいことは知りませんが、Operaではdisplay:noneな画像はsrcを読み込まないはずです。width="0" height="0"ならどうでしょうか?
- edvakf 2008-07-29 (火) 00:54
-
http://d.hatena.ne.jp/os0x/20080728/opera95
こちらの「display:none の指定された画像についても onload が機能」という項目に詳しいです。
前のコメントは忘れてください。すみません。 - hisasann 2008-07-29 (火) 15:35
-
edvakfさん。コメントありがとうございます。
なるほど、src読みこまないんですね。参考のURL拝見させていただきました。
9.5から改良が入ったなんて・・・というかedvakfさんのブログかなりなOperaマスターですなw
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1077
- Listed below are links to weblogs that reference
- display:noneな画像はOperaでPostされない from HouseTect, JavaScripter Blog

