当前位置: 首页 > news >正文

download使用浅析

先来介绍一下我们的主角download让我们有一个简单认识,图中我们可以看到a标签的download属性,他是用来指定可以下载,值是filename。图片来源

clipboard.png

再来说说场景,网页上要下载东西,下载一个资源(软件.exe 、 压缩包.zip 、 图片.png 、 本文.txt ),我们通过url打开,发现有的可以下载,有的直接显示了,这就有点尴尬了。先说说为什么有的资源就直接显示了。这是因为浏览器发现他可以自己打开了,所以他就觉得他要显示比如你的 .png .txt .html。那如果我们要下载怎么办?

这种东西呢,一般就两个办法,一个前端控制,一个后端控制。

后端控制 新给你一个url,加个下载头。浏览器一看,哎呦这个东西是要下载的,不需要打开,他就直接下载了。这样的下载需要后端人员配合,这咔咔咔就改代码。

前端控制 a标签的Download属性,加上以后,就是下载资源,这个好,想下载什么下载什么,但是呢,这种好用的东西在前端一般都有问题,什么问题?兼容问题呗,FF不支持跨域下载,非跨域下是可以下载的-测试地址。跨域情况,chrome里面设置filename不好使-测试地址同上。当然,还有我们要兼容的ie。

//这样写成一个function可以让我们不用界面上放一个a标签,换成js触发。
a = document.createElement('a');
a.download = filename;
a.href = 'https://segmentfault.com';
// 触发点击
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

相关文章:

  • 学习进度 15
  • linux系统下搭建php环境之-Discuz论坛
  • zabbix-activemode
  • 寻找最小可行化产品背后的真理
  • 继承的多种方式和优缺点
  • HDU1412 {A} + {B}
  • usermod命令和用户密码管理
  • socket传输过程
  • 一次反向代理负载均衡的处理过程
  • 魔方NewLife.Cube升级v2.0
  • 小孩子惊吓到 解决方法 收集
  • 跟小静读CLR via C#(10)-参数
  • iOS安全系列之 HTTPS
  • 解决ssh免密码登录仍然提示输入密码问题
  • [改善Java代码]使用Throwable获得栈信息
  • SegmentFault for Android 3.0 发布
  • CentOS 7 修改主机名
  • dva中组件的懒加载
  • Fabric架构演变之路
  • FineReport中如何实现自动滚屏效果
  • java8-模拟hadoop
  • JS 面试题总结
  • web标准化(下)
  • 从PHP迁移至Golang - 基础篇
  • 讲清楚之javascript作用域
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  •  一套莫尔斯电报听写、翻译系统
  • 阿里云服务器如何修改远程端口?
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #每日一题合集#牛客JZ23-JZ33
  • (1)STL算法之遍历容器
  • (1)常见O(n^2)排序算法解析
  • (2015)JS ES6 必知的十个 特性
  • (Forward) Music Player: From UI Proposal to Code
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)fiber的基本认识
  • (二)正点原子I.MX6ULL u-boot移植
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (生成器)yield与(迭代器)generator
  • (学习日记)2024.01.19
  • (转) Face-Resources
  • ./configure,make,make install的作用
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net 路由处理厉害了
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • [20190401]关于semtimedop函数调用.txt