最近做到下载Excel,用了几种方法,各有不同效果。

方法一: 在拿到请求链接之后,直接window.open(url)

如图:

JS下载文件 不刷新下载 表单下载


这种方法最为简单,只需要一行代码,但是有个问题,就是下载的时候页面会出现闪现刷新,更为恼火的是这种方法下载会被浏览器拦截。很不爽这种效果,就尝试别的方法。


方法二:a链接下载,在页面上隐藏a链接,在请求道下载文件地址之后将变量downloadUrl改成文件地址,然后自动下载文件,但此种方法也会出现页面闪现刷新。还是不爽,继续找别的方法

JS下载文件 不刷新下载 表单下载


方法三:iframe下载,如同a链接,在页面隐藏iframe,动态修改iframe的src为文件地址,

JS下载文件 不刷新下载 表单下载

JS下载文件 不刷新下载 表单下载

最后,在下载的时候依旧是会出现页面刷新,不爽?继续试。


方法四:表单下载

在页面动态创建表单,使其隐藏,设置属性target='',methods='get',action=文件路径,再生成一个input,用于防止下载时所需的参数,格式分别为name:'',value:'',这里如果下载时不需要参数,也需要一个input设置name,value,不然会报错

JS下载文件 不刷新下载 表单下载

生成的form添加到页面之后,点击下载,页面不刷新直接下载。相比前面,效果舒服多了。

JS下载文件 不刷新下载 表单下载



相关文章:

  • 2021-10-01
猜你喜欢
  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
  • 2021-04-17
  • 2021-05-16
相关资源
相似解决方案