为什么上传按钮显示得如此缓慢?
问题描述:
我正在研究现有项目。我使用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&pagepath=/en/media-maker/&script=/en/media-maker/upload/file&folder=&scriptData=level%3D1%26folderid%3D15%26symfony%3Dbtt461h1nor36k2taotp6jhku4&width=167&height=47&wmode=transparent&method=POST&queueSizeLimit=20&simUploadLimit=1&hideButton=true&fileDesc=Image/Video/Audio&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;&multi=true&auto=true&sizeLimit=524288000&fileDataName=Filedata&queueID=uploadList">
</object>
</div>
我的问题是,这个按钮,当我刷新网页出现得很晚。此按钮仅在整个页面上传后才会显示。有时这个按钮不会出现在某些浏览器上,并且网络连接速度很慢。我如何让它看起来更快?
感谢
答
如果<object>
是你的按钮,它是某种形式的.swf Flash文件...好,直到它从下载的/uploadify/uploadify.swf
整个事情的浏览器不能显示它...更何况它必须启动Flash插件才能呈现简单的按钮。这就是为什么它很慢。
我不能说我曾经主张在一个按钮上使用flash文件的时候,CSS已经被很多浏览器支持了。我甚至可以称之为完全荒谬的。
答
首先你为什么要用这个flash?杀死Flash并做一个纯粹的jQuery-PHP AJAX实现,并使用图像使按钮看起来很漂亮。 Flash实际上应该仅限于视频播放器,即使HTML5不再适用于这种情况。
我刚看了uploadify,你应该选择一个不同的工具避免使用闪存不惜一切代价。我现在已经做了5年的专业网络开发,如果包括我第一次开始使用它作为业余爱好的话,我一直在做10年的网络开发。我可以从个人经验告诉你,当谈到闪光只是说不。
下面我列出了我在另一个*答案中找到的替代方法(http://*.com/questions/4072889/uploadify-alternative-need-to-upload-large-1gb-files)。从我看到的我认为“Plupload”和“jQuery AJAX文件上传”看起来不错。
我可能应该提到flash和js都是大多数浏览器加载的最后一件事情。如果你为这个按钮放置了一个图像,并将适当的JS分配给它,那么它将看起来和工作得很好。 – pthurmond
'$ flash = function($ myPage){return“flash + $ mypage == awful”; }' – rdlowrey
使用闪存的原因是提供某些客户端功能,如最大文件大小验证,文件类型检查,进度/速度状态等。闪存是邪恶的不是新闻。 2008年只有很少的替代品。 –