VEG, уже докопался. заработало. помогла замена .ready на .load
Добавлено спустя 1 час 18 секунд:PHP не определяет размеры картинок с внешних ресурсов.
Немного обмыслив, решил, что лучшим решением будет динамически обрезать большие картинки скриптом.
Не знаю, насколько красиво получилось:
- Код: Выделить всё
$(window).load(function() {
var maxWidth = 600;
$("img").filter(function() {
return (this.width > maxWidth);
}).each(function() {
var ratio = this.height / this.width;
$(this).attr("height",this.height/this.width*maxWidth)
$(this).attr("width",maxWidth)
if(this.parentNode.tagName !== 'A') {
var a = $('<a/>').attr('href', this.src);
$(this).wrap(a);
}
});
})
На локалке работает. Скрипт проверяет размеры подгружаемой картинки, и если ширина больше заданного значения (600px), то устанавливает пропорциональные размеры с шириной 600px и добавляет ссылку на полноразмерную картинку. Машина клиента все равно загрузит всю тяжесть большой картинки, но хотя бы можно контролировать размеры. + без проблем добавить открытие во фрейме.
В таком виде есть "минус". Скрипт хватает все картинки подряд с вытекающими. Тоесть может схватить и логотип, например.