Using HTML5/Canvas/JavaScript to take in-browser screenshots
I follow above answer but no files can be saved at local hard disk. How to do it with javascript without external software installed ?
Edge on windows
C:\Users\hello\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC#!001\MicrosoftEdge\User\Default\DOMStore\IS3DHS80
Chrome on windows:
%LocalAppData%\Google\Chrome\User Data\Default\Local Storage\
<html>
<body bgcolor="#000000">
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<script>
function save() {
let region = document.querySelector("body"); // whole screen
html2canvas(region, {
onrendered: function(canvas) {
//let pngUrl = canvas.toDataURL(); // png in dataURL format
//let img = document.querySelector(".screen");
//img.src = pngUrl;
var dat = new Date();
var a = document.createElement("a");
a.href = canvas.toDataURL('image/png');
a.download = dat.toString() + "_MRTG.png";
a.hidden = true;
document.body.appendChild(a);
a.innerHTML = "random";
a.click();
},
});
};
setTimeout(function(){
var today = new Date();
hours = today.getHours();
minutes = today.getMinutes();
if(hours === 18 && minutes === 0){
//save();
let b = document.querySelector("capt");
b.click();
setTimeout(console.log(""),5000);
};
window.location.reload(1);
}, 30000);
</script>
<button onclick="save()" id="capt">Screen Capture</button>
<div id="capture">
<div class="container" id="containerr">
<img width="75%" class="screen">
</div>
</body>
</html>