2016-02-10 6 views
1

Safari теперь поддерживает атрибуты <img> srcset & sizes (http://caniuse.com/#search=srcset) и при тестировании его работы.<img> атрибут размеров, поддерживаемый в Safari, но отсутствующий в объекте JS img

Если вы посещаете библиотеку обнаружения функции http://featurejs.com с помощью Safari он (ошибочно) сообщает, что sizes является не поддерживается.

Потому что sizes отсутствует в объекте img.

Если я посещаю страницу в Safari, который имеет что-то изображение определяется как:

<img srcset="smallpic.jpg 300w, mediumpic.jpg 600w, bigpic.jpg 1000w" 
    sizes="(max-width: 600px) 100vw, 
      50vw" > 

затем в консоли попробуйте следующее:

var img = document.querySelector('img'); 

console.log(img.srcset); // prints srcset definition 
console.log(img.sizes); // undefined 

Но правильно сообщает img.sizes в Chrome или Firefox.

Я хочу иметь возможность манипулировать размерами для динамически добавленного контента.

Кто-нибудь знает какой-либо способ доступа к собственности? Возможно, в Safari это происходит под другим именем (принятие желаемого за действительное).

ответ

1

Это ошибка в Safari, но вы можете работать вокруг него только получения значения атрибута непосредственно img.getAttribute("sizes");

+0

Спасибо за это. Да, я уже пытался получить атрибут вроде этого, который работает, и вы также можете условно установить атрибут с помощью img.setAttribute(). К сожалению, это не влияет, свойство размера отсутствует на узле элемента img, и я пришел к выводу, что это тупик, который пытается заставить его работать в Safari. – terraling