我已使用以下代码在我的页面中生成网格的屏幕截图。下面代码中的'gridBody'是一个DOM对象。
html2canvas(gridBody ,{
onrendered:function(canvas){
var img = canvas.toDataURL();
window.open(img);
}
});
但是它给出了一个错误:
未捕获的TypeError:undefined不是函数(html2canvas.js:2191) _html2canvas.Preload(html2canvas.js:2191) (匿名函数)
html2canvas.js文件中的第2191行:
domImages = element.getElementsByTagName('img'), // Fetch images of the present element only
当我给'document.body'而不是'gridBody'时,这非常好。
你能帮我解决一下,为什么会出现错误?
注意:gridBody DOM以
开头和结尾<div>
标记。我可以分享它,但是这个空间不允许在这里粘贴整个DOM,我也没有看到任何附加文件的方法。
答案 0 :(得分:3)
我遇到了这个问题,发现这是由于传入html2canvas的选择器为空。这导致'元素'不是元素。