Почему кнопка загрузки отображается так медленно? - PullRequest
0 голосов
/ 20 января 2012

Я работаю над существующим проектом. Я использую плагин jQuery Uploadify для загрузки файлов. Для загрузки файлов используется следующий код кнопки:

<div>
     <input width="167" type="file" height="47" name="file_upload" class="file_upload" id="file_upload" style="display: none;">
     <object width="167" height="47" type="application/x-shockwave-flash" data="/uploadify/uploadify.swf" id="file_uploadUploader" style="visibility: visible;"><param name="quality" value="high">
         <param name="wmode" value="transparent">
         <param name="allowScriptAccess" value="sameDomain">
         <param name="flashvars" value="uploadifyID=file_upload&amp;pagepath=/en/media-maker/&amp;script=/en/media-maker/upload/file&amp;folder=&amp;scriptData=level%3D1%26folderid%3D15%26symfony%3Dbtt461h1nor36k2taotp6jhku4&amp;width=167&amp;height=47&amp;wmode=transparent&amp;method=POST&amp;queueSizeLimit=20&amp;simUploadLimit=1&amp;hideButton=true&amp;fileDesc=Image / Video / Audio&amp;fileExt=*.jpg;*.jpeg;*.gif;*.png;*.bmp;*.svg;*.avi;*.divx;*.dvx;*.dv;*.asf;*.asx;*.3gp;*.3g2;*.3ivx;*.3vx;*.mov;*.mp4;*.m4v;*.mpg;*.mpeg;*.qt;*.rm;*.swf;*.wmv;*.mkv;*.mts;*.part;*.mp3;&amp;multi=true&amp;auto=true&amp;sizeLimit=524288000&amp;fileDataName=Filedata&amp;queueID=uploadList">
     </object>
</div>

Моя проблема в том, что эта кнопка появляется очень поздно, когда я обновляю веб-страницу. Эта кнопка появляется только после загрузки всей страницы. Иногда эта кнопка не появляется в некоторых браузерах и при медленном интернет-соединении. Как мне сделать так, чтобы он казался быстрее?

Спасибо

Ответы [ 2 ]

3 голосов
/ 20 января 2012

Прежде всего, почему вы используете для этого вспышку? Убейте флеш и сделайте чистую реализацию jQuery-PHP AJAX и используйте изображение, чтобы кнопка выглядела красиво. Flash действительно должен быть ограничен только видеопроигрывателями, и даже это скоро перестанет существовать в HTML5.

Я только что посмотрел uploadify, и вам определенно следует выбрать другой инструмент. Избегайте использования flash любой ценой. Я профессионально занимаюсь веб-разработкой уже 5 лет и 10, если учесть, когда я впервые начал заниматься ею как хобби. По личному опыту могу сказать, что когда дело доходит до вспышки, просто скажите «нет».

Ниже я включил список альтернатив, которые я нашел в другом ответе StackOverflow (http://stackoverflow.com/questions/4072889/uploadify-alternative-need-to-upload-large-1gb-files). Из того, что я вижу, я думаю, что "Plupload" и "jQuery AJAX File Upload" выглядят хорошо.

1 голос
/ 20 января 2012

Если <object> - ваша кнопка, и это какой-то флэш-файл .swf ... ну, браузер не сможет отобразить его, пока не загрузит все это из /uploadify/uploadify.swf ... Не говоря уже о том, что запустите флэш-плагин только для рендеринга простой кнопки. Вот почему это медленно.

Не могу сказать, что когда-либо выступал бы за использование флэш-файла для кнопки, когда CSS теперь так хорошо поддерживается многими браузерами. Я мог бы пойти так далеко, чтобы назвать это совершенно бессмысленным.

...