当前位置:   article > 正文

js 页面截图三种解决方案_js调用浏览器截图

js调用浏览器截图

1.html2canvas

npm install html2canvas

  1. // 引入html2canvas库
  2. import html2canvas from 'html2canvas';
  3. // 设置定时器,每隔10秒执行一次截图操作
  4. setInterval(async () => {
  5. try {
  6. // 将网页内容转换为canvas元素
  7. const canvas = await html2canvas(document.body);
  8. // 将canvas元素转换为图片文件base64
  9. const img = canvas.toDataURL('image/png');
  10. // 图片文件img 处理上床后端
  11. } catch (error) {
  12. console.error('截图失败:', error);
  13. }
  14. }, 10000);

2、获取屏幕流转为图片

  1. async function screenshot() {
  2. // 获取屏幕流
  3. const displayMediaOptions = {
  4. video: {
  5. cursor: "always"
  6. }
  7. };
  8. const stream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
  9. // 创建一个video元素来播放屏幕流
  10. const video = document.createElement('video');
  11. video.srcObject = stream;
  12. await video.play();
  13. // 创建一个canvas元素来截屏
  14. const canvas = document.createElement('canvas');
  15. canvas.width = video.videoWidth;
  16. canvas.height = video.videoHeight;
  17. // 将视频播放的内容绘制到canvas上
  18. const context = canvas.getContext('2d');
  19. context.drawImage(video, 0, 0, canvas.width, canvas.height);
  20. // 将canvas内容转换为base64
  21. const base64 = canvas.toDataURL();
  22. // 关闭视频流
  23. video.srcObject.getTracks().forEach((track) => track.stop());
  24. return base64;
  25. }

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/396773
推荐阅读
  

闽ICP备14008679号