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

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

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



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



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



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

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



Что за ерунда? Как пофиксить? И почему страдает только Хром? Даже IE7 корректно работает.
  • Вопрос задан
  • 4235 просмотров
Решения вопроса 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 обернуть не пробовали?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 14:12
30000 руб./за проект
19 апр. 2024, в 14:10
500 руб./за проект