Я в конце концов нашел ошибку в коде, который я разместил:
element.style.width = maxWidth;
следует читать
element.style.width = maxWidth+"px";
(и аналогично для style.height). Таким образом, функция по данному вопросу должна выглядеть следующим образом:
function maxDimensions(element, maxWidth, maxHeight)
{
element.style.width = 'auto';
element.style.height = 'auto';
element.style.width = maxWidth+"px";
var ht = element.innerHeight ? element.innerHeight : element.clientHeight;
if (ht > maxHeight)
{
element.style.width = 'auto';
element.style.height = maxHeight+"px";
}
}
Теперь это работает. Однако пока я оставляю вопрос открытым, если у кого-то есть более простое решение.