js实现图片直接下载遇到的坑--(IE)

  •   首先不得不吐槽下百度的垃圾搜索,很难搜索到一些问题的原因和解决办法。基本搜索到的都是千篇一律的文章,博客,打开你会发现里面内容一模一样。即使内容有用,说的也很片面。这样坑就产生了,你明明代码是粘贴复制的,为什么就是出不来效果呢。(请原谅我是小白,英文看起来吃力,技术水平也一般)。好了,废话不多说。上干货

  需求:js实现网页变图片然后下载功能。

  实现:网页变图片用的是html2canvas插件,你会发现其实这插件也挺坑的,勉强可以用不做讨论。重点要说的是下载部分的坑,谷歌等主流浏览器可以用download方式下载,网上资料有很多不做赘述。ie浏览器下载网上搜索到的方式都是pic = window.open(imageName.href, "a1") pic.document.execCommand("SaveAs")这种利用浏览器自带的方法实现下载功能,但是前提条件是window.open()方法要获取到图片的src,因为我插件生成是canvas,只能获取到他的

canvas.toDataURL()base64位码,这样该方法就无法使用了。最好找了好久终于找到一种替换方式。贴代码

html2canvas插件的回调方法

onrendered:function(canvas){

if(isIe){

var blob = canvas.msToBlob();

window.navigator.msSaveBlob(blob,'a.png')

}

}

也就是用blob格式创建图片。a.png,名字可以自己起,也可以写a.txt.得到的就是txt格式文件。




  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值