Я пытаюсь получить JavaScript
для программной настройки ширины тега HTML img
для правильного отображения изображений разных размеров.
У меня есть фиксированная ширина img
тег на 800px
для отображения изображения, это максимальная ширина.
Если изображение шире, то 800px
Я хочу отобразить его на ширине 800px
;
Если ширина изображения меньше 800px
, я хочу сохранить его ширину, чтобы не растягивать его.
Я использую этот html / javacript код, чтобы получить частичное решение:
function resize_image(id) {
var img = document.getElementById(id);
var normal_width = img.width;
img.removeAttribute("width");
var real_width = img.width;
if (real_width < normal_width) {
img.width = real_width;
} else {
img.width = normal_width;
}
}
<img id="myimage" onload="resize_image(self.id);" src="https://via.placeholder.com/350x150" width="800" />
Приведенный выше код работает во всех протестированных мною браузерах, кроме Safari
(изображения не отображаются, пока вы не обновите страницу).
Я знаю, что могу использовать CSS max-width
, но это не сработает на IE
Как мне заставить это работать для всех браузеров? Большое спасибо заранее.