Задать вопрос

Некоректное поведение Google Chrome при вычислении ширины изображения. Как пофиксить?

Собственно сабж.

Использую последнюю версию jQuery, на странице есть изображение и есть код вида:



var width = $('img').width();<br>



Только этот код работает как-то криво в Google Chrome (последняя версия), тогда как в остальных браузерах все работает окей.



В чем нерабочесть?

Пишу что-то вроде console.log(width), перезагружаю страницу, в консоль падает «0». По F5 перезагружаю — без результата. Однако если встать курсором именно в адресную строку и нажать Enter, все тут же магическим образом начинает работать, т.е. в консоле появляется нужное мне значение. Но стоит снова нажать F5, как результать снова сбрасывается.



Что за ерунда? Как пофиксить? И почему страдает только Хром? Даже IE7 корректно работает.
  • Вопрос задан
  • 4236 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
freeek
@freeek
В document.ready изображения могут и не подгружаться, возможно, когда их нет в кэше, вы и видите 0.

Попрбуйте:
var img_width = 0;
$(window).load(function() {
    img_width+=$('img').width();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Genome_X
@Genome_X Автор вопроса
Аррррр!
В общем всем заинтересованным на заметку: читать различие между $(document).ready и $(window).load
Ответ написан
Комментировать
Evengard
@Evengard
В onload обернуть не пробовали?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽