問題截圖:
具體如何生成截圖的方法芦拿,請(qǐng)參考http://www.reibang.com/p/e7e3b19cfa21,此處只是解決生成截圖時(shí)的一些坑童太。
原因:
我所知道的原因有兩點(diǎn)置媳,
第一點(diǎn):在點(diǎn)擊保存圖片時(shí),此時(shí)要保存的資源較多艘希,造成模塊并沒有完全加載完畢硼身,就已經(jīng)生成了截圖;
解決方案:(加上一個(gè)延時(shí)操作)
// 利用 html2canvas 下載 canvas
setTimeout(() => {
html2canvas(img, { canvas: canvas }).then(function(canvas) {
_this.photoUrl = canvas.toDataURL();
});
}, 500);
第二點(diǎn):滾輪滑動(dòng)造成的覆享,主要是html2canvas是根據(jù)body進(jìn)行截圖佳遂,若內(nèi)容高度高于body時(shí),就會(huì)出現(xiàn)這樣的問題(大概意思就是有滾動(dòng)條時(shí)造成的)
解決方案:(在生成截圖前撒顿,先把滾動(dòng)條置頂)
window.pageYOffset = 0;
document.documentElement.scrollTop = 0
document.body.scrollTop = 0