請先到html2canvas的官網下載套件
https://html2canvas.hertzen.com/
在想要擷取的畫面加上一個id方便來獲取這個元件,這邊設成capture。
<div id="capture"> ... </div>
這時候就可以擷取儲存成canvas,這邊是直接將這個畫面加到網頁的結尾。
html2canvas(document.querySelector("#capture")).then(canvas => {
// do something
document.body.appendChild(canvas)
});
querySelector這邊請記得針對你要擷取的元件設定!完整的範例如下:
<html>
<head>
<html>
<head>
<title>Screenshots with JavaScript</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" >
</head>
<body>
<div class="container">
<div class="row">
<div class="col my-5">
<!-- The Screenshot Component -->
<div class="target">
<div class="card text-center">
<div class="card-header">
Featured
</div>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<p class="card-text">With supporting text below as a natural lead-in to additiona l content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
<div class="card-footer text-muted">
2 days ago
</div>
</div>
</div>
<!-- Display Area -->
<div class="mt-5 result border border-success">
<p class="text-center">Display Here!</p>
</div>
<!-- Download Link -->
<a herf="#" class="download-link btn">Download</a>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script type="text/javascript" src="./html2canvas.min.js"></script>
<script>
$(document).ready(function() {
html2canvas(document.querySelector(".target")).then(canvas => {
$(".result").append(canvas);
$(".download-link").attr("href", canvas.toDataURL());
});
});
</script>
</body>
</html>
沒有留言:
張貼留言