为什么看到好多网站的上传文件按钮都是flash做的?

无·法 2018-09-21 07:31:16


如上面网易邮箱的代码:

<div class="nui-mainBtn nui-btn nui-btn-hasIcon nui-mainBtn-hasIcn pFile-uploadBtn" data-cmd="upload">
<span class="nui-btn-icon"><b class="js-component-icon nui-ico pFile-ico pFile-ico-arrUp">p</b></span>
<span class="nui-btn-text">上传文件</span>
<span class="pFile-uploadBtn-moniter" style="z-index: 999;"><embed id="uploaderFlashFile" src="//mail.163.com/js6/h/FileSplitUploader.swf" flashvars="apiMulti=1&apiDiff=200&apiListener=window.UploaderCall.f1537528331743" quality="high" wmode="transparent" allowscriptaccess="always" type="application/x-shockwave-flash" width="100%" height="100%" /></span>
</div>


再比如:
http://tool.oschina.net/codeformat/html
这里面的“复制代码”那儿的按钮,我Firefox一打开这个页面这按钮是黑色的,要点击下才能激活flash,然后才是正常的蓝色按钮。

看起来貌似用flash方式能获取更多的权限。网上找了下,相关的介绍很少,有谁了解的可以普及下么。
...全文
839 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
无·法 2018-10-02
  • 打赏
  • 举报
回复
引用 3 楼 Win32FanEx 的回复:
好像是flash增强安全性导致,就是启动上传功能的指令必需来自flash控件自身而不可以是外界元素。这就是为什么上传按钮也必需用flash来做的原因。要知道用div来做一个漂亮按钮是很容易的---就是为了安全性。

应该就是你说的为了安全性。其次应该还有获得更多权限的效果。

我用js调用flash那儿的元素的click方法都没有效果,只能用户点击才有反应,这样明显比较安全,浏览器能区分是用户操作还是脚本操作。

包括下面这个链接里的复制也是:
http://tool.oschina.net/codeformat/html


这是在Firefox中操作的,复制按钮一点击就可以了,而h5能做的只是提示用户去手动执行Ctrl+C,这样就能区分是用户真实操作了。
无·法 2018-10-02
  • 打赏
  • 举报
回复
引用 2 楼 hookee 的回复:
主要是方便分块续传大文件,获取上传进度等。
传统的上传也能控制进度,大文件就不清楚了
无·法 2018-10-02
  • 打赏
  • 举报
回复
引用 4 楼 net_lover 的回复:
主要是为了兼容旧的浏览器,现在html5上传很简单方便了。

另外,Flash技术即将被淘汰了,Adobe 表示 将于 2020 年 12 月彻底结束 Flash 的更新与下载,
旧浏览器不支持 input type="file" 吗?
孟子E章 2018-10-01
  • 打赏
  • 举报
回复
主要是为了兼容旧的浏览器,现在html5上传很简单方便了。

另外,Flash技术即将被淘汰了,Adobe 表示 将于 2020 年 12 月彻底结束 Flash 的更新与下载,

大狗狗 2018-10-01
  • 打赏
  • 举报
回复
好像是flash增强安全性导致,就是启动上传功能的指令必需来自flash控件自身而不可以是外界元素。这就是为什么上传按钮也必需用flash来做的原因。要知道用div来做一个漂亮按钮是很容易的---就是为了安全性。
hookee 2018-09-23
  • 打赏
  • 举报
回复
主要是方便分块续传大文件,获取上传进度等。
winzond 2018-09-22
  • 打赏
  • 举报
回复
听说H5要取代WEB中大部分flash的功能哟
本实例采用的是Uploadify上传插件,.NET程序,源程序是从网上找的,但是有Bug,已经修改好,并标有部分注释。绝对好用,支持单文件、多文件上传,支持大文件上传,已经过多方面测试,保证好用。 以下附上Uploadify部分常用的参数介绍,要看全部的就去看其API文件了,一般在下载的包里都有。  uploader : uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后弹出打开文件对话框,默认值:uploadify.swf。   script : 后台处理程序的相对路径 。默认值:uploadify.php   checkScript :用来判断上传选择的文件在服务器是否存在的后台处理程序的相对路径   fileDataName :设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据。默认为Filedata   method : 提交方式Post 或Get 默认为Post   scriptAccess :flash脚本文件的访问模式,如果在本地测试设置为always,默认值:sameDomain   folder : 上传文件存放的目录 。   queueID : 文件队列的ID,该ID与存放文件队列的div的ID一致。   queueSizeLimit : 当允许多文件生成时,设置选择文件的个数,默认值:999 。   multi : 设置为true时可以上传多个文件。   auto : 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 。   fileDesc : 这个属性值必须设置fileExt属性后才有效,用来设置选择文件对话框中的提示文本,如设置fileDesc为“请选择rar doc pdf文件”,打开文件选择框效果如下图:   fileExt : 设置可以选择的文件的类型,格式如:'*.doc;*.pdf;*.rar' 。   sizeLimit : 上传文件的大小限制 。   simUploadLimit : 允许同时上传的个数 默认值:1 。   buttonText : 浏览按钮的文本,默认值:BROWSE 。   buttonImg : 浏览按钮的图片的路径 。   hideButton : 设置为true则隐藏浏览按钮的图片 。   rollover : 值为true和false,设置为true时当鼠标移到浏览按钮上时有反转效果。   width : 设置浏览按钮的宽度 ,默认值:110。   height : 设置浏览按钮的高度 ,默认值:30。   wmode : 设置该项为transparent 可以使浏览按钮flash背景文件透明,并且flash文件会被置为页面的最高层。 默认值:opaque 。   cancelImg :选择文件到文件队列中后的每一个文件上的关闭按钮图标 Uploadify还自带了很多参数及有用的方法和回调函数,都在API里,虽然是全英文的,但很容易看懂,这里就不说了。

61,111

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧