1. 第一种
第一种是这种父盒子设置 overflow:hidden属性,只能截取到可视区域
解决办法:先获取到子节点和父盒子,然后创建一个div元素把子节点添加到刚创建的div元素内,再把刚创建的div元素添加到父盒子内
2. 第二种
页面中部分内容使用iframe包裹
解决办法:先获取到iframe然后再获取到iframe内的内容
document.querySelector(".frame-box").querySelector("iframe").contentWindow.document.querySelector(".iframeChild")
3. 第三种
截取不全的
解决办法:一般使用下面这个配置都能解决
html2canvas(dom, { backgroundColor: "#ffffff", allowTaint: true, useCORS: true, height: dom.scrollHeight, windowHeight: dom.scrollHeight, })