您现在的位置是:网站首页> 编程资料编程资料
HTML5中的强制下载属性download使用实例解析HTML5实现的轻量级绘制SVG轮廓线路径动画插件特效源码html5 实现客户端验证上传文件的大小(简单实例)html5基于鼠标滚动控制植树生长动画特效源码【HTML5】Canvas绘制简单图片教程HTML5实现页面切换激活的PageVisibility API使用初探HTML5的Geolocation地理位置定位API使用教程HTML5事件方法全部汇总HTML5全屏响应式缩放切换幻灯片代码深入理解HTML的FormData对象
2021-08-31
1476人已围观
简介 链接中加入download属性可以使用户将文件下载下来而不是直接用浏览器打开,截止到目前为止对HTML5提供支持的浏览器已经对这个属性支持得比较好了,下面我们就来详细看一下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,像这样增加用户体验(不要忘记文件的拓展名)。
- <a href="downloadpdf.php" download="download.pdf">点击直接下载并保存成 download.pdf 文件a>

可以看一下这个demo地址:http://tutsplus.github.io/download-attribute/index.html
一些注意:
Firefox考虑到安全问题,该下载文件必须是从自己的服务器或域名中的,否则将在浏览器中打开。
在Chrome和Opear中,如果说下载文件不是在子集的服务器或域名中,这些浏览器会忽视download属性,换句话来说,文件名不变。
提供后备方案:
在写本文的时候,download属性并没有在Safari和IE中实现,但是IE声称,download属性的实现已经在开发日程顶部了。
在这期间,我们可以使用一个后备方案去兼容那些浏览器。我们需要去下载Modernizr的download属性特征测试。
然后添加以下脚本:
- 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事件方法全部汇总HTML5实现的轻量级绘制SVG轮廓线路径动画插件特效源码html5 实现客户端验证上传文件的大小(简单实例)html5基于鼠标滚动控制植树生长动画特效源码【HTML5】Canvas绘制简单图片教程HTML5实现页面切换激活的PageVisibility API使用初探HTML5的Geolocation地理位置定位API使用教程HTML5中的强制下载属性download使用实例解析HTML5全屏响应式缩放切换幻灯片代码深入理解HTML的FormData对象
- 深入剖析HTML5 内联框架iFrame推荐10个HTML5响应式框架五个2015 年最佳HTML5 框架深度剖析HTML的语意和与其相关的前端框架html悬浮框架的设置使用示例(iframe加载html)HTML教程,简单学习HTML语言(2)HTML框架_动力节点Java学院整理
- HTML5 Canvas绘制五星红旗html5实现的仿网页版微信聊天界面效果源码剖析标注HTML元素时class比id所具有的优势HTML表格布局实例讲解html5 canvas实现的3D飞行飞行动画特效源码关于html的下载功能详解HTML5+SVG实现水桶杯子打击乐器动画效果深入剖析HTML5 内联框架iFrameHTML5不同视觉差的页面特效源码 6种点击按钮文字变成input框,点击保存变成文字的实现代码
- 字中字效果的实现【html5实例】HTML5全屏响应式缩放切换幻灯片代码html5 canvas实现的“我们要发财了”游戏源码html5实现的仿网页版微信聊天界面效果源码详解HTML5中rel属性的prefetch预加载功能使用html5 canvas实现的3D飞行飞行动画特效源码HTML5+SVG实现水桶杯子打击乐器动画效果深入剖析HTML5 内联框架iFrameHTML5不同视觉差的页面特效源码 6种html5 canvas实现的酷炫全屏背景动画特效源码页面“线条”效果HTML5实现代码
- html5需遵循的6个设计原则HTML5 Canvas绘制五星红旗HTML5不同视觉差的页面特效源码 6种字中字效果的实现【html5实例】html5 canvas实现的酷炫全屏背景动画特效源码页面“线条”效果HTML5实现代码
- HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果关于老式浏览器兼容HTML5和CSS3的问题HTML5结合CSS3实现的手动切换幻灯片动画特效源码一款利用html5和css3实现的3D立方体旋转效果教程 HTML5+CSS3图片堆叠转瀑布流布局特效源码html5+css3鼠标悬停hover超链接导航条特效源码 21种html5+css3实现的超酷雪花飘落特效源码用CSS3打造HTML5的Logo(实现代码)
- HTML5标签嵌套规则详解【必看】html标签的嵌套规则介绍HTML标签嵌套规则详细归纳适合新手朋友XHTML标签的嵌套规则分析HTML中的块级、行级元素,特殊字符,嵌套规则
- HTML 5.1来了 9月份正式发布 更新内容预览HTML5 Canvas绘制五星红旗HTML5不同视觉差的页面特效源码 6种字中字效果的实现【html5实例】html5 canvas实现的酷炫全屏背景动画特效源码页面“线条”效果HTML5实现代码
- 浅析HTML5中header标签的用法HTML标签meta总结,HTML5 head meta 属性整理html5+css3之制作header实例与更新html5+css3之CSS中的布局与Header的实现html5小技巧之通过document.head获取head元素html5理解head_动力节点Java学院整理
- 基于HTML5 的人脸识别活体认证的实现方法html5+jQuery+bootstrap实现的QQ空间时间轴界面特效源码html5+jQuery实现的点击text文本框个性化时间选择插件源码调用HTML5的Canvas API绘制图形的快速入门指南HTML5结合3D实现的多图案例展示特效源码html5 canvas绘制矩形和圆形的实例代码用CSS3打造HTML5的Logo(实现代码)
点击排行
本栏推荐
