当前位置: 代码网 > it编程>编程语言>Javascript > JavaScript实现页面截图3种解决方案

JavaScript实现页面截图3种解决方案

2024年07月02日 Javascript 我要评论
1.html2canvasnpm install html2canvas// 引入html2canvas库import html2canvas from 'html2canvas';// 设置定时器,

1.html2canvas

npm install html2canvas

// 引入html2canvas库
import html2canvas from 'html2canvas';

// 设置定时器,每隔10秒执行一次截图操作
setinterval(async () => {
  try {
    // 将网页内容转换为canvas元素
    const canvas = await html2canvas(document.body);

    // 将canvas元素转换为图片文件base64
    const img = canvas.todataurl('image/png');

    // 图片文件img 处理上床后端
    
  } catch (error) {
    console.error('截图失败:', error);
  }
}, 10000);

2、获取屏幕流转为图片

async function screenshot() {  
    // 获取屏幕流  
    const displaymediaoptions = {  
        video: {  
            cursor: "always"  
        }  
    };  
    const stream = await navigator.mediadevices.getdisplaymedia(displaymediaoptions);  
  
    // 创建一个video元素来播放屏幕流  
    const video = document.createelement('video');  
    video.srcobject = stream;  
    await video.play();  
  
    // 创建一个canvas元素来截屏  
    const canvas = document.createelement('canvas');  
    canvas.width = video.videowidth;  
    canvas.height = video.videoheight;  
  
    // 将视频播放的内容绘制到canvas上  
    const context = canvas.getcontext('2d');  
    context.drawimage(video, 0, 0, canvas.width, canvas.height);  
  
    // 将canvas内容转换为base64  
    const base64 = canvas.todataurl();  
  
    // 关闭视频流  
    video.srcobject.gettracks().foreach((track) => track.stop());  
  
    return base64;  
}

3、让使用者在浏览器插件再去调用插件(不推荐)

总结

到此这篇关于javascript实现页面截图3种解决方案的文章就介绍到这了,更多相关js页面截图解决方案内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com