[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,但我想把遇到的問題寫出來,但願別人少走些彎路。測試