HTML5中的如何强制下载属性download使用
本篇文章为大家展示了HTML5中的如何强制下载属性download使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
HTML5 的 Download 属性用来强制浏览器下载对应文件,而不是打开。Chrome 和 Firefox 等浏览器太过于强大,也许是为了增强用户体验,当用户点击的资源文件可以被它们识别的时候(例如 pdf 会直接在浏览器打开,mp3、mp4 等媒体直接用浏览器内置播放器播放)。但有时候,用户其实是希望直接下载而不是在浏览器上看看,这时就可以加上这个属性,属性值会对下载的文件重命名:
点击直接下载并保存成 download.pdf 文件
如果你确定这个资源是用户肯定会下载的,就可以加上这个属性,还可以用 JS 或者手动改变想要保存的文件名。
在html里创建一个是下载链接是方便的,添加一个标签和指向文件的href属性就行了。但是某些文件不会被下载(比如图像,pdf,txt,doc),相反,他们会在浏览器中被打开。
如果你的站点是有服务器端的,你可以通过配置.htaccess文件来使得那些文件可以被下载。如果你的站点是被WordPress.com或者github页面托管的(静态页面),那么轻考虑使用标签的download属性
使用"Download"属性
download属性是html5规范的一部分,它表现为一个下载链接,而不是一个导航的链接。
download属性也允许你去重命名一个需要下载的文件。比如,一个文件存放在服务器上,如果这个文件是自动生成的,一般来说它被都命名为一个系统的数字和破折号的组合,例如acme-doc-2.0.1.txt,我们可以重命名这个下载文件的名字,用户下载后看到的文件名可以是一个比较好的名字,例如Acme Documentation (ver. 2.0.1).txt,像这样增加用户体验(不要忘记文件的拓展名)。
XML/HTML Code复制内容到剪贴板
点击直接下载并保存成 download.pdf文件
可以看一下这个demo地址:http://tutsplus.github.io/download-attribute/index.html
一些注意:
Firefox考虑到安全问题,该下载文件必须是从自己的服务器或域名中的,否则将在浏览器中打开。
在Chrome和Opear中,如果说下载文件不是在子集的服务器或域名中,这些浏览器会忽视download属性,换句话来说,文件名不变。
提供后备方案:
在写本文的时候,download属性并没有在Safari和IE中实现,但是IE声称,download属性的实现已经在开发日程顶部了。
在这期间,我们可以使用一个后备方案去兼容那些浏览器。我们需要去下载Modernizr的download属性特征测试。
然后添加以下脚本:
JavaScript Code复制内容到剪贴板
if ( ! Modernizr.adownload ) { var $link = $('a'); $link.each(function() { var $download = $(this).attr('download'); if (typeof $download !== typeof undefined && $download !== false) { var $el = $('
').addClass('download-instruction').text('Right-click and select "Download Linked File"'); $el.insertAfter($(this)); } }); }这个脚本是去测试浏览器是否支持download属性的,如果浏览器不支持的话,它就会想有download属性的标签下面,插入一个有download-instruction类的
标签,并给予文字指引使用右键下载。上述内容就是HTML5中的如何强制下载属性download使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
文件 属性 浏览器 浏览 用户 内容 服务器 标签 服务 强制 文件名 链接 剪贴板 名字 域名 技能 方案 时候 是在 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库 tiger 5g网络服务器编号 直播网络技术公司 北京沃高网络技术公司诈骗 计算机与网络技术基础简答 华为服务器安全模式 网吧服务器多少个硬盘 吃鸡怎么上国际服的服务器 保险行业软件开发 网络安全的相关草案 网络安全产品零信任 大学游戏软件开发专业 飞机加速器手动添加服务器教程 即时通讯软件开发企业 警务室开展网络安全检查工作简报 服务器代码报错 怎么改变数据库表的显示顺序 网络服务器繁忙 什么是服务器程序 服务器安全狗黑名单导入 苏州做软件开发的公司 还原数据库是汉字不对 数据库建成经验 sql查找删除重复数据库 罗湖区无源网络技术开发咨询报价 深圳鸿天顺网络技术 网络工程加软件开发 软件开发任务发布 服务器级别的游戏机 服务器安全狗黑名单导入