window.location.href 打开地址各终端表现不一样,预期是弹出下载框,应该怎么做?

比如用 window.location.href 打开 这个地址:"http://srv-file.lehuomao.com/R.FhLetITQrMkKPH7J6-gz_qu3Rdbx.8IqVjCe?attname=114935985_0-1524097469-31b1c44e-63ff-ecea_00001.ts&e=1544177078&token=A-SxvcKX-cElDR8djvNfz0BbAx0-tsc5iD9gf7qq:_BFUpEJ7G_9k0NhZjxM-XSOukg4="

安卓可以正常弹出下载框;
safari打开了这个页面:
clipboard.png

在微信里面打开直接乱码了
请问要怎么处理

阅读 3.6k
2 个回答

你这个地址返回的content-type是 video/MP2T
不同的浏览器对这个可能有不同的处理。
你要下载的话,需要改一下这个content-type,比如改成 application/octet-stream(二进制流)。

window.location.href是弹出新浏览器窗口打卡地址。弹出下载框是浏览器自身行为,你不能通过脚本去干预。

安桌是因为浏览器不能识别文件类型就默认提示下载了。与你用不用window.location.href没有任何关系。

ios本来就不支持图片以外的任何文件下载,所以你这个在safari无解。

微信里面正常的做法是右上角引导用户通过浏览器打开。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题