そのため、今日、特定のブラウザー (Chrome v31.0.1626.5) で Jquery の.width()を使用して画像セレクターの幅が 0 になる大きな画像の幅と高さの問題に遭遇しました。
Jquery UIダイアログで画像がロードされた後(またはロードされたように見える)、ボタンのクリックハンドラーに以下の行があります。
var imageWidth = $("#myImageSelector").width();
// imageWidth = 0 in Chrome
// imageWidth = 1024 (which is the actual image width) in Firefox v23
したがって、同じことを少し調べたところ、画像がロードされた後にのみ画像の高さと幅のプロパティにアクセスできることがわかりました(こことここ)。いくつかの競合状態があることがわかりました...
1.ここで問題になっているこの競合状態は何ですか?
2. Chrome は Firefox とは異なる方法で画像を処理しますか? また、それは一般的に HTMLImageElement または他の DOM 要素のみですか? Firefox で幅が正しく表示されるのはなぜですか? (上記の競合状態が Firefox でよりエレガントに処理されるためでしょうか?)
PS:さらに読むための参考文献は大歓迎です。