Он отлично работает везде, но не в IE 11 (я еще не тестировал другие версии IE).
var img = new Image();
img.onload = function(){
alert( 'img: ' + img.width + 'x' + img.height +
' natural: ' + img.naturalWidth + 'x' + img.naturalHeight );
};
img.src = 'http://upload.wikimedia.org/wikipedia/en/b/b5/Boeing-Logo.svg';
JSFiddle: JSFiddle
Результат:
img: 121x30 natural: 121x30
- Реальные браузеры (Chrome, Safari, Firefox,...)
img: 0x0 natural: 0x0
- IE 11
Здесь есть аналогичный вопрос: Невозможность получения ширины изображения при загрузке изображения в IE
Ни одно из решений этих ответов не работает для svg.
Есть ли способ получить ширину и высоту файла svg, загруженного с помощью Image() в Internet Explorer 11?
Примечание. Я ищу решение без необходимости добавления элемента в DOM для измерения, поскольку я хочу избежать ненужного повторного потока/перерисовки.