Я хочу подогнать изображения на моем сайте к размеру содержащего их элемента, поэтому у меня есть следующее:
if (userHasMicrositePhoto) {
var width = $('micrositePhotoDiv').getComputedSize().width;
$('micrositePhoto').src = "flash/userImage.ashx?type=micrositePhoto&id=" + userId + "&width=" + width;
}
Мой файл обработчика userImage.ashx возвращает изображение, указанное в идентификаторе, масштабированное доШирина указана в качестве параметра.
Это отлично работает в Firefox, Chrome & Co, но не работает в Internet Explorer - возвращаемое изображение слишком велико.Я думаю, что это потому, что .getComputedSize().width
сообщает ширину, которая включает размер отступа (но на границе или поле) в Internet Explorer, но возвращает только полезную область в других браузерах.В результате ширина, заданная Internet Explorer, слишком велика.
Я не могу найти другие поля, доступные для .getComputedSize()
, которые позволяют мне найти «фактическую» ширину в Internet Explorer.Я попытался использовать .getComputedStyle()
, чтобы получить отступ, чтобы вычесть его из общей ширины, но это возвращает строку, и я стилизую элемент micrositePhotoDiv
как padding: 0.75em
, так что это не работает.
Что мне нужно сделать, чтобы получить правильную ширину в Internet Explorer?