首先需要先引入兩個js
<script src="./jquery-3.4.1.min.js"></script>
<script src="./html2canvas.js"></script>
$('.btn').click(function () { //#proMain:要截圖的DOM元素 //useCORS:true:解決跨域問題 html2canvas(document.querySelector('#proMain'),{useCORS:true}).then(function (canvas) { //獲取年月日作為文件名 var timers=new Date(); var fullYear=timers.getFullYear(); var month=timers.getMonth()+1; var date=timers.getDate(); var randoms=Math.random()+''; //年月日加上隨機數 var numberFileName=fullYear+''+month+date+randoms.slice(3,10); var imgData=canvas.toDataURL("image/png"); //保存圖片 var saveFile = function(data, filename){ var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a'); save_link.href = data; save_link.download = filename; var event = document.createEvent('MouseEvents'); event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); save_link.dispatchEvent(event); }; //最終文件名+文件格式 var filename = numberFileName + '.png'; // 下載圖片(保存圖片) // saveFile(imgData,filename); // 把截的圖顯示在網頁上 var img = document.createElement('img');//創建一個標簽 img.setAttribute('src',imgData);//給標簽定義src鏈接 document.getElementById('box').appendChild(img); }) }) // 代理事件(append之后的標簽無法設置事件) $('#box').on('click',function (e) { var target=e.target||e.srcElement;//獲取當前點擊的對象 console.log(target.src) $('.bigImg').attr('src',target.src); $('.bigImg').css('display','block') });
截屏得到的是一個加密的base64地址