Javascript 更改html2canvas以接受显示为无
我用的是哪一种。这就是一个例子 根据答案,我下载了html2canvas,并开始在本地使用它来进行建议的更改, 因为像其他答案一样设置颜色的选项对我不起作用 此外,我还注意到我的其他要求,这与html2canvas默认提供的要求不同。我需要能够生成PDF文件,即使显示设置为Javascript 更改html2canvas以接受显示为无,javascript,html2canvas,jspdf,Javascript,Html2canvas,Jspdf,我用的是哪一种。这就是一个例子 根据答案,我下载了html2canvas,并开始在本地使用它来进行建议的更改, 因为像其他答案一样设置颜色的选项对我不起作用 此外,我还注意到我的其他要求,这与html2canvas默认提供的要求不同。我需要能够生成PDF文件,即使显示设置为none 请注意,在我给出的示例中,HTML呈现程序(早期阶段)选项可与display none一起使用,但实现的渲染效果不佳。另一方面,addHTML()是我现在使用的,它按原样呈现页面,但这意味着只呈现可见的内容 这是HT
none
请注意,在我给出的示例中,HTML呈现程序(早期阶段)
选项可与display none一起使用,但实现的渲染效果不佳。另一方面,addHTML()
是我现在使用的,它按原样呈现页面,但这意味着只呈现可见的内容
这是HTML2CANVAS的默认方法来决定可视为什么。
function isElementVisible(element) {
return (getCSS(element, 'display') !== "none" &&
getCSS(element, 'visibility') !== "hidden" &&
!element.hasAttribute("data-html2canvas-ignore"));
}
我评论了这行:getCSS(元素,'visibility')!=“隐藏”
,它使我能够创建PDF,即使可见性:隐藏
。但是,对于display:none
,即使该方法始终返回true,情况也并非如此
如何实现它?具有
display:none
的节点无法为其获取计算值,因为它在DOM中没有计算值(实际上是display:none
)
如果要渲染display:none
内容,则需要在渲染之前将节点的显示设置为其他内容
从html2canvas 0.5.0开始,您可以向html2canvas提供一个onclone
选项,该选项是一个回调,返回克隆的文档
对象,您可以在呈现DOM之前根据需要修改它,在不影响原始文档的情况下
具有显示:无
的节点无法为其获取计算值,因为它在DOM中没有计算值(实际上是显示:无
)
如果要渲染display:none
内容,则需要在渲染之前将节点的显示设置为其他内容
从html2canvas 0.5.0开始,您可以向html2canvas提供一个onclone
选项,该选项是一个回调,返回克隆的文档
对象,您可以在呈现DOM之前根据需要修改它,在不影响原始文档的情况下
具有显示:无
的节点无法为其获取计算值,因为它在DOM中没有计算值(实际上是显示:无
)
如果要渲染display:none
内容,则需要在渲染之前将节点的显示设置为其他内容
从html2canvas 0.5.0开始,您可以向html2canvas提供一个onclone
选项,该选项是一个回调,返回克隆的文档
对象,您可以在呈现DOM之前根据需要修改它,在不影响原始文档的情况下
具有显示:无
的节点无法为其获取计算值,因为它在DOM中没有计算值(实际上是显示:无
)
如果要渲染display:none
内容,则需要在渲染之前将节点的显示设置为其他内容
从html2canvas 0.5.0开始,您可以为html2canvas提供一个onclone
选项,该选项是一个回调,返回克隆的文档
对象,您可以在渲染DOM之前根据需要修改它,而不会影响原始文档