如何让html文本转为图片?

最近想弄个简易的web页面录制
想法:将html转为图片,每隔50ms一张图片,最后图片凑成动画,但是碰到一个问题。
如何将html文本转为图片?

html2canvas的参数可以传dom节点但是不支持传html文本,试着将html文本解析成dom传入,然而会报错,ownerDocument.defaultView为null,如果复制dom,便会在html2canvas里报clone.js的错。

//html2canvas部分源码
var ownerDocument = element.ownerDocument;
if (!ownerDocument) {
  return Promise.reject('Provided element is not within a Document');
}
var defaultView = ownerDocument.defaultView;

如果继续使用html2canvas如何解决这问题,或者可有别的第三方插件推荐?

阅读 4.8k
1 个回答

呃,问题解决了。html2canvas的第二个参数options,在克隆dom时修改dom内容,挂羊头卖狗肉操作。
试了半天的onclone才蒙对用法,gg。

let domText = `<p>测试例子<p>`;
let options = {
  logging: false,
  useCORS: true,
  onclone: (html)=>{
    html.body.innerHTML = domText;
  }
};
html2canvas(document.body,options);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题