[1]我要实现的功能是用户填写完表单后,点击提交按钮,截图。截图放在一个弹层里面,给一句提示"长按图片保存至手机"。css
js引入的是bluebird.min.js和html2canvas.jshtml
展转写了这些代码,逻辑是点击按钮,截图,而后间隔一秒钟显示弹层。到这一步貌似实现功能。下面用真机测试遇到了两个问题:前端
有些手机已经出现了下载图片选项
可是点击下载图片图片下载不下来,没有一点动做。后来前辈给出指导说有些css属性是html2canvas.js这个插件不支持的,好比:before属性,我把页面上用到的before属性所有替换后也不行,后来在common.css一行一行删样式,找到一个属性 body {overflow-x: hidden},把overflow-x: hidden去掉后是能够下载的,除了这两个属性,可能还有其它一些css不支持。
第二个问题,我用的手机是华为,用谷歌浏览器长按图片发现没有下载图片选项canvas
这个问题也是问了前辈,说多是截图的图片质量太大致使的,而后我尝试将截图范围缩小浏览器
缩小范围后是能够有下载图片选项,而且能够下载。
这是我使用插件遇到的一些问题。这篇文章的第三张和第四张图片是我顺手截图展现效果的,第一张和最后一张才是我项目中操做的图片。
这个功能在个人QQ浏览器和谷歌浏览器时能够实现功能的。可是发现华为自带的浏览器不支持。最后由于前端兼容性太差用了另一种写法:后台处理好,把图片路径返回给前台,我就把图片路径放到指定位置。虽然最终方案没有使用html2canvas.js,但我想把遇到的问题写出来,但愿别人少走些弯路。测试