javascript - js通过 URL下载文件
巴扎黑
巴扎黑 2017-04-11 09:08:53
[JavaScript讨论组]

页面上一个button,点击之后触发一个function去请求数据,返回 pdf/epub 的URL,然后下载这个文件.

本来是直接用 a 写的,href里放资源地址,target设为'_blank'效果良好.但这样所有的资源都会直接暴露而且不方便统计,所以就换用上面的方式.

  1. js构造a标签,js触发click.不加_blank是可以的,但会替换掉原来整个页面.加了_blank chrome就拦截,Safari无效果.

  2. 用iframe,src填入资源地址. 但这样Safari无效果. 且,如果是MP4/pdf这样的文件浏览器并没有下载而是直接打开.

  3. window.open 被拦截

最想要的效果是点击下载按钮,原页面无改动无刷新,直接下载资源.移动版在新页面下载,触发下载自动关闭新页面.

请问上面方法要怎么改才能满足需求呢?谢谢啦

巴扎黑
巴扎黑

全部回复(2)
PHP中文网

谢邀。你自己基本都把方法与思路想好了,这个涉及到浏览器或者系统的安全限制等原因,模拟点击等都不能实现。所以建议还是直接使用你提到的第一种方式,但你说不方便统计是指什么?统计下载或者做权限下载你可以使用动态链接

PHP中文网
<a href="url 302到下载地址" download>下载</a>
  1. url里统计,然后重定向的下载链接

  2. 添加 download 属性,这个属性可以指定下载文件名。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号