需求:頁面中用echarts畫的地圖径玖,想要通過保存圖片按鈕,將整個(gè)頁面保存下來,如下圖
第一步就是echarts畫地圖扩然,接著用html2canvas生成圖片,但是echarts畫的地圖在手機(jī)端最小字體為12px,要想顯示全部城市名聋伦。在手機(jī)上會(huì)擠在一起很難看夫偶,所以需要先畫個(gè)大的地圖,再把大地圖轉(zhuǎn)化為圖片 縮小到屏幕寬度放在頁面中觉增,將原來的echarts地圖隱藏兵拢,這里用絕對定位,z-index設(shè)為-1逾礁;
canvas用toDataURL方法轉(zhuǎn)化為base64的圖片之后放在img標(biāo)簽內(nèi)说铃,然后去手機(jī)中點(diǎn)保存圖片按鈕,結(jié)果ios保存的圖片沒有地圖嘹履。
在網(wǎng)上搜了很多關(guān)于ios html2canvas的解決方法腻扇,逛了一天,把所有的罪過都給了html2canvas和base64的問題
最后問我?guī)煾咐担f “你確定是base64圖 或者是html2canvas的鍋嗎”
一語驚醒夢中人啊幼苛,我把普通圖片放在img里面 發(fā)現(xiàn)ios還是空白---于是我排除了base64的鍋
然后我再單獨(dú)寫一個(gè)img標(biāo)簽 任何樣式都沒有加 用html2canvas 結(jié)果ios不是空白了!;拦巍2把亍I嗉痢!J钜霍转!
那肯定是css的鍋了啊,一汽,避消,,把每個(gè)樣式都去掉 排除法----animation的鍋罢偌小Q遗纭!<嘣鳌I匆狻!>ɡM得埂!:稚浮@嗌佟!S嬖A蚰!
我之前為了讓地圖出來的時(shí)候有些動(dòng)畫 于是給img加了一點(diǎn)動(dòng)畫晃痴,残吩,,倘核,泣侮,然后~~~~~可怕
最后送給每個(gè)開發(fā)者,不要想當(dāng)然笤虫,不要以為網(wǎng)上有這種問題 你的代碼就是網(wǎng)上的問題旁瘫,要一步步的排查問題,再去解決 而不是上來就找解決方法琼蚯,問題都還沒搞清楚~~~~~~~~