本文通过实例代码给大家分享了使用HTML截图并保存为本地图片的实现代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
具体代码如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>html2canvas_download</title>
<style>
a {
cursor: pointer;
color: rgb(85, 26, 139);
text-decoration: underline;
}
</style>
</head>
<body>
<div id="oDiv" style="width: 300px; height: 300px; margin: 10px; background: red; border: 5px solid gray;">
<h1>hello world!</h1>
</div>
<!-- <script type="text/javascript" src="../dist/html2canvas.js"></script> -->
<script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
<script type="text/javascript">
var oDiv = document.getElementById('oDiv');
// body截图
// html2canvas(document.body).then(function(canvas) {
// document.body.appendChild(canvas);
// });
html2canvas(oDiv).then(function(canvas) {
document.body.appendChild(canvas);
var oCavans = document.getElementsByTagName('canvas')[0];
var strDataURI = oCavans.toDataURL();
downLoadFn(strDataURI);
});
//判断浏览器类型
function myBrowser() {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if(isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if(userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if(userAgent.indexOf("Chrome") > -1) {
return "Chrome";
}
if(userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if(userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
if(userAgent.indexOf("Trident") > -1) {
return "Edge";
} //判断是否Edge浏览器
}
//IE浏览器图片保存本地
function SaveAs5(imgURL) {
var oPop = window.open(imgURL, "", "width=1, height=1, top=5000, left=5000");
for(; oPop.document.readyState != "complete";) {
if(oPop.document.readyState == "complete") break;
}
oPop.document.execCommand("SaveAs");
oPop.close();
}
// chrome14+,firefox20+,pera15+,Edge 13+,Safari未实现
function download(strDataURI) {
var link = document.createElement('a');
link.innerHTML = 'download_canvas_image';
link.download = 'mypainting.png';
link.addEventListener('click', function(ev) {
link.href = strDataURI;
}, false);
document.body.appendChild(link);
};
function downLoadFn(url) {
if(myBrowser() === "IE" || myBrowser() === "Edge") {
SaveAs5(url);
} else {
download(url);
}
}
</script>
</body>
</html>
总结
以上所述是小编给大家介绍的使用HTML截图并保存为本地图片的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! |