我正在开发一个现有项目。我使用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>
我的问题是,当我刷新网页时,此按钮显示得很晚。只有在整个页面上传后才会出现此按钮。有时此按钮不会出现在某些浏览器上并且网络连接速度较慢。如何让它看起来更快?
由于
答案 0 :(得分:3)
首先,为什么要使用闪存呢?杀死flash并执行纯jQuery-PHP AJAX实现并使用图像使按钮看起来很漂亮。 Flash实际上应该仅限于视频播放器,甚至HTML5的情况也很快就会出现。
我只是查找了uploadify,你一定要选择不同的工具避免不惜一切代价使用闪存。我已经专业地进行了5年的网络开发,如果你在我第一次开始玩它作为业余爱好时包括10年。我可以从个人经验告诉你,当谈到闪光时,请说不。
下面我列出了我在另一个StackOverflow答案中找到的备选方案列表(http://stackoverflow.com/questions/4072889/uploadify-alternative-need-to-upload-large-1gb-files)。从我看来,我认为“Plupload”和“jQuery AJAX文件上传”看起来不错。
答案 1 :(得分:1)
如果<object>
是你的按钮而且它是某种.swf flash文件...那么浏览器无法显示它,直到它从/uploadify/uploadify.swf
下载整个内容...不是提到它必须启动Flash插件只是为了呈现一个简单的按钮。这就是为什么它很慢。
我不能说当CSS已经被如此众多的浏览器所支持时,我会主张使用flash文件作为按钮。我可能会把它称为完全没有意义。