设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 106|回复: 11

使用HTML截图并保存为本地图片的实现代码

[复制链接]

1

主题

53

回帖

126

积分

注册会员

积分
126
发表于 2024-4-20 10:29:29 | 显示全部楼层 |阅读模式
具体代码如下所示:
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>html2canvas_download</title>
  6.         <style>
  7.             a {
  8.                 cursor: pointer;
  9.                 color: rgb(85, 26, 139);
  10.                 text-decoration: underline;
  11.             }
  12.         </style>
  13.     </head>
  14.     <body>
  15.         <div id="oDiv" style="width: 300px; height: 300px; margin: 10px; background: red; border: 5px solid gray;">
  16.             <h1>hello world!</h1>
  17.         </div>
  18.         <!-- <script type="text/javascript" src="../dist/html2canvas.js"></script> -->
  19.         <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
  20.         <script type="text/javascript">
  21.             var oDiv = document.getElementById('oDiv');
  22.             // body截图
  23.             // html2canvas(document.body).then(function(canvas) {
  24.             //     document.body.appendChild(canvas);
  25.             // });
  26.             html2canvas(oDiv).then(function(canvas) {
  27.                 document.body.appendChild(canvas);
  28.                 var oCavans = document.getElementsByTagName('canvas')[0];
  29.                 var strDataURI = oCavans.toDataURL();
  30.                 downLoadFn(strDataURI);
  31.             });
  32.             //判断浏览器类型
  33.             function myBrowser() {
  34.                 var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  35.                 var isOpera = userAgent.indexOf("Opera") > -1;
  36.                 if(isOpera) {
  37.                     return "Opera"
  38.                 }; //判断是否Opera浏览器
  39.                 if(userAgent.indexOf("Firefox") > -1) {
  40.                     return "FF";
  41.                 } //判断是否Firefox浏览器
  42.                 if(userAgent.indexOf("Chrome") > -1) {
  43.                     return "Chrome";
  44.                 }
  45.                 if(userAgent.indexOf("Safari") > -1) {
  46.                     return "Safari";
  47.                 } //判断是否Safari浏览器
  48.                 if(userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
  49.                     return "IE";
  50.                 }; //判断是否IE浏览器
  51.                 if(userAgent.indexOf("Trident") > -1) {
  52.                     return "Edge";
  53.                 } //判断是否Edge浏览器
  54.             }
  55.             //IE浏览器图片保存本地
  56.             function SaveAs5(imgURL) {
  57.                 var oPop = window.open(imgURL, "", "width=1, height=1, top=5000, left=5000");
  58.                 for(; oPop.document.readyState != "complete";) {
  59.                     if(oPop.document.readyState == "complete") break;
  60.                 }
  61.                 oPop.document.execCommand("SaveAs");
  62.                 oPop.close();
  63.             }
  64.             // chrome14+,firefox20+,pera15+,Edge 13+,Safari未实现
  65.             function download(strDataURI) {
  66.                 var link = document.createElement('a');
  67.                 link.innerHTML = 'download_canvas_image';
  68.                 link.download = 'mypainting.png';
  69.                 link.addEventListener('click', function(ev) {
  70.                     link.href = strDataURI;
  71.                 }, false);
  72.                 document.body.appendChild(link);
  73.             };
  74.             function downLoadFn(url) {
  75.                 if(myBrowser() === "IE" || myBrowser() === "Edge") {
  76.                     SaveAs5(url);
  77.                 } else {
  78.                     download(url);
  79.                 }
  80.             }
  81.         </script>
  82.     </body>
  83. </html>
复制代码
总结
以上所述是小编给大家介绍的使用HTML截图并保存为本地图片的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

1

主题

57

回帖

137

积分

注册会员

积分
137
发表于 2024-5-2 12:15:47 | 显示全部楼层
我们一起努力,共同解决问题吧。

0

主题

21

回帖

43

积分

新手上路

积分
43
发表于 2024-5-3 17:42:09 | 显示全部楼层
每日一回

1

主题

56

回帖

136

积分

注册会员

积分
136
发表于 2024-5-5 20:01:54 | 显示全部楼层
确实牛逼

2

主题

42

回帖

130

积分

注册会员

积分
130
发表于 2024-5-21 20:18:05 | 显示全部楼层
同意你的观点,我们有共鸣。

0

主题

55

回帖

111

积分

注册会员

积分
111
发表于 2024-7-21 19:45:01 | 显示全部楼层
好用好用

1

主题

71

回帖

163

积分

注册会员

积分
163
发表于 2024-8-23 10:27:37 | 显示全部楼层
谢谢你分享这个信息

0

主题

50

回帖

99

积分

注册会员

积分
99
发表于 2024-9-3 18:04:06 | 显示全部楼层
非常感谢你的观点,让我受益良多!

1

主题

38

回帖

105

积分

注册会员

积分
105

热心会员付费会员

发表于 2024-9-25 13:52:07 | 显示全部楼层
能给个链接吗?我想深入了解一下。
发表于 2024-9-29 07:31:11 | 显示全部楼层
6666666666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 15:39 , Processed in 0.112543 second(s), 27 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表