html2canvas如何將div轉成圖片並下載,如何將滾動條的內容截取下來

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="layout" content="main">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #canvs {
            background-color: yellow;
            width: 400px;
            margin: 100px auto;
            text-align: center;
            padding: 10px;
        }
        .title {
            font-size: 18px;
        }
    </style>
    <script type="text/javascript" src="http://www.boolaw.com/tpl/default/js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="js/html2canvas.js"></script>
    <script type="text/javascript">    
        function downloadForJS() {
            //使用html2canvas 轉換html爲canvas
            html2canvas(document.getElementById('canvs')).then(function (canvas) {
                var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 獲取生成的圖片的url  
                var saveLink = document.createElement('a');
                saveLink.href = imgUri;
                saveLink.download = 'downLoad.png';
                saveLink.click();
            });
        }
    </script>
</head>
<body>
    <div id="canvs">
        <div class="title">如夢令·昨夜雨疏風驟</div>
        <div>[宋] 李清照</div>
        <div>昨夜雨疏風驟,濃睡不消殘酒,試問卷簾人,卻道海棠依舊。</div>
        <div>知否,知否,應是綠肥紅瘦。</div>
    </div>
    <div style="width: 400px;margin:50px auto;">
        <input class="button" type="button" value="button" onclick="downloadForJS()">測試</input>
    </div>
</body>
</html>

 2.若是存在滾動條,怎麼把滾動條裏面的內容也截取下來javascript

downloadForJS() {
      var targetDom = this.common.getClass('div', 'rightBox')[0]
      var copyDom = targetDom.cloneNode(true) // 克隆節點
      copyDom.style.width = targetDom.offsetWidth + 'px'
      copyDom.style.height = targetDom.scrollHeight + 'PX' // 得到高度
      document.getElementsByClassName('wrapperRight')[0].appendChild(copyDom) // 插入節點
      html2canvas(copyDom).then((canvas) => {
        document.getElementsByClassName('wrapperRight')[0].removeChild(copyDom) // 刪除節點
        var imgUri = canvas.toDataURL('image/png').replace('image/png', 'image/octet-stream') // 獲取生成的圖片的url
        var saveLink = document.createElement('a')
        saveLink.href = imgUri
        saveLink.download = 'downLoad.png'
        saveLink.click()
      })
    }
相關文章
相關標籤/搜索