Как проверить, поддерживается ли естественная ширина?

У меня есть следующий jQuery и вы хотите проверить, поддерживается ли естественная ширина:

function special(image) {
    if (typeof this.naturalWidth != 'undefined') {
        //do something
    }
}

Но это не работает? Любые идеи?

Ответ 1

Попробуйте это

function special(image) {
    if (image && image.naturalWidth) {
        //do something
    }
}

Ответ 2

Почему бы просто не включить naturalWidth/naturalHeight polyfill? https://gist.github.com/2209957

Учитывая это, вы можете написать код типа alert($(img).naturalWidth()), где вы в противном случае использовали бы alert(img.naturalWidth), и теперь он должен работать во всех браузерах, независимо от того, поддерживают ли они его изначально или нет.