html 图片定位截取,html2canvas截图的时候,dom元素设置为position absolute之后截取出的图片,此dom元素内容截取不到...

在使用html2canvas进行网页截图时遇到一个问题,当DOM元素设置了position:absolute属性后,该元素的内容无法正常显示在生成的截图中。尝试了调整各种配置,包括allowTaint、useCORS等,但没有找到有效的解决方案。最终发现,移除position:absolute属性后,元素内容可以正常被截取。这个问题可能与html2canvas对定位元素的处理方式有关,需要进一步研究或寻找替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

html2canvas截图的时候,dom元素设置为position absolute之后截取出的图片,此dom元素内容截取不到

问题出现的环境背景及自己尝试过哪些方法

google没找到答案,但是确实去掉dom的position:absolute就可以截取出dom内容

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

var copyDom = targetDom;

copyDom.css(

{

'background-image':'url("./bg03.jpg")'

}

);

/* $('body').append(copyDom);//把copy的截图对象追加到body后面*/

var width = copyDom.offsetWidth;//dom宽

var height = copyDom.offsetHeight;//dom高

var scale = 2;//放大倍数

var canvas = document.createElement('canvas');

canvas.width = width*scale;//canvas宽度

canvas.height = height*scale;//canvas高度

var content = canvas.getContext("2d");

content.scale(scale,scale);

var rect = copyDom.get(0).getBoundingClientRect();//获取元素相对于视察的偏移量

content.translate(-rect.left,-rect.top);//设置context位置,值为相对于视窗的偏移量负值,让图片复位

html2canvas(copyDom[0], {

/* allowTaint:true,

useCORS:true,

tainTest:true,*/

scale:scale,

canvas:canvas,

width:width,

heigth:height,

}).then(function (canvas) {

downloadImage(canvas.toDataURL(),'xxx.png')

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值