html2canvas滾動軸問題、dom-to-image移動端兼容性問題匯總


項目要求是:html生成圖片(圖片格式不限),長按圖片能夠保存到本地,主要在移動端

1、初試html2canvas

最初選擇的是html2canvas插件,將html轉為canvas

再通過Canvas2Image,將canvas轉為想要的圖片

問題:只能截取一屏的內容,當出現滾動條時,不在滾動視區的部分不會被生成

 

2、換用dom-to-image

聽從廣大網友的建議,換用dom-to-image插件

該插件常用的是 toPng、toJpeg、toSvg 這三種方法

本人實測之后:toPng和toJpeg方法只在部分ios端有效,在ios8以上和android上(微信內置)存在兼容性問題

toSvg 能夠順利在各種機型上生成圖片,但是無法長按保存,想來是svg格式在移動端的支持性不好

嘗試使用 canvas.todataurl 將svg轉換為png格式,發現在android端依舊存在兼容性問題

 

3、繼續用回html2canvas

想到的解決方案是:將需要生成圖片的長圖按一定比例縮小,在一屏中生成圖片

代碼大致如下:

img.style.transform = "scale(0.4)";

 

兼容性問題真是前端一大煩心事。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM