Я открываю представление MVC в colorbox. Это представление загружает изображение, к которому я разрешаю пользователю добавлять аннотации. Прежде чем мой плагин аннотаций заработает и отобразит холст, мне нужно знать ширину и высоту загруженного изображения. Это устанавливает размер холста.
Я могу получить ширину и высоту изображения в FF, Chrome, Opera. Но в IE8 я всегда получаю ширину и высоту изображения равными 0.
Есть ли кто-нибудь, кто может помочь мне получить размер изображения после загрузки изображения?
Вот как я вызываю colorbox, чтобы открыть представление MVC:
<a href="site/photos/album/1234" class="notes colorbox"></a>
Это вид:
<div id="dvImg">
<img id="imgAnnotate" src="path/abc.jpg" />
</div>
$(function () {
$("#imgAnnotate").load(function () {
Width = this.width;
Height = this.height;
alert('W=' + Width + ' H=' + Height); <-- IE shows as W=0 H=0
});
});
Я также попробовал плагин imagesLoaded, но не работает с colorbox:
$(function () {
var $dvImg = $('#dvImg');
function loopImages($images) {
$images.each(function () {
alert('h6=' + $(this).height() + ' w6=' + $(this).width()); //FF says 0
alert('h7=' + this.height + ' w7=' + this.width); //FF OK!!! not IE
});
}
$dvImg.imagesLoaded(function ($images) {
loopImages($images);
});
});
Еще момент: $(window).load()
в обзоре вообще не стреляет. Может быть потому, что он загружен в colorbox?
Во всяком случае, это кажется очень очень трудно сделать!!