Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > перегрузить jpg-файл картинку средствами ajax


Автор: mstdmstd 24.1.2016, 16:17
Всем привет,
Мне нужно перегрузить картинку средствами ajax, вроде: 
  
Код

          jQuery.ajax({
                url: "categories/get_image_size?file_url="+,
                type: 'GET',
                dataType: 'json',
                success: function(result) {
                    if (result.result == 'success' ) {
                        var url = "<?php echo base_url(); ?>" + fileUrl + "?tm=" + ( new Date().getTime() )
                        $("#img_preview").attr( "src", result.file_info.file_url ) // Устанавливаю картинку и ее размер
                        $("#img_preview").css("width", result.file_info.width)
                        $("#img_preview").css("height", result.file_info.height)
                    }
                }
            });


В общем, все работает, но при загрузке jpg-файлов сначала грузится грубая версия картинки и через паузу сама картинка.
Что вообще типично для  jpg-файлов. А можно ли сделать, чтобы сразу загружалась полноценная картинка?

В голову приходит вариант прятать саму картинку перед присваиванием урла картинки и отображать его через таймер в пару секунд.
Но как точно установить таймер, чтобы и пауза не была бы слишком большой и не видеть меняющейся картинки?
Нет ли решения лучше?
  

Автор: sQu1rr 24.1.2016, 17:01
во первых нет не типично для jpg, стандартно они грузятся по "полоске".
Цитата

However, progressive JPEGs are not as widely supported,[citation needed] and even some software which does support them (such as versions of Internet Explorer before Windows 7)[12] only displays the image after it has been completely downloaded.

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

Автор: _zorn_ 5.2.2016, 07:19
Цитата(mstdmstd @  24.1.2016,  23:17 Найти цитируемый пост)
и отображать его через таймер в пару секунд.

Зачем, если есть событие onload ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)