1. 程式人生 > 其它 >html2canvas ios 報錯 Maximum call stack size exceeded

html2canvas ios 報錯 Maximum call stack size exceeded

技術標籤:踩坑記錄javascriptnode.jses6canvas

最近的一個微信 h5 專案,有生成分享圖的需求,用到了 html2canvas 這個庫

程式碼:

let el = document.querySelector('.xxx');
html2canvas(el, {
  width: el.offsetWidth,
  height: el.offsetHeight,
  scale: 2,
  dpi: window.devicePixelRatio * 2,
  useCORS: true,
})
.then(canvas => {
  this.coverImg =
canvas.toDataURL('image/png', 1.0); }) .catch(err => { console.log('報錯了', err); })

安卓能正常生成,ios 報錯了,錯誤資訊是:

column: 46
line: 150
message: "Maximum call stack size exceeded."
stack: "fromCodePoint consumeStringSlice consumeStringToken consumeUrlToken read parse CSSParsedDeclaration ElementContainer createContainer parseTree step fulfilled 
[email protected]
[native code]"

為什麼會報這個錯,咱也不知道,在網上找到一篇文章,說到了這個問題,說是 css 背景圖導致的,於是我把背景圖換成了 img 標籤,就沒報錯能正常生成了

閱讀原文:小鑫の隨筆