91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JavaScript中使用cavas截圖網頁

發布時間:2021-03-25 17:45:55 來源:億速云 閱讀:175 作者:Leah 欄目:web開發

本篇文章為大家展示了怎么在JavaScript中使用cavas截圖網頁,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

引入canvas的js文件,js文件獲取地址官網主頁:

<script type="text/javascript" src="js/html2canvas.js"></script>
<script type="text/javascript" src="js/html2canvas.min.js"></script>

div按鈕代碼

<div><a id="down" href="" download=" rel="external nofollow" downImg">下載按鈕</a></div>
//href用來取到值 要寫個空 down load是下載圖片出來的名稱

jsp代碼

function test() {
     var canvas2 = document.createElement("canvas");           //創建一個新的canvas
  let _canvas = document.querySelector('#dijit__TemplatedMixin_0');      //這里面填寫 你需要截圖的div
  var w = parseInt(window.getComputedStyle(_canvas).width);  
  var h = parseInt(window.getComputedStyle(_canvas).height); 
  canvas2.width = w * 2;
  canvas2.height = h * 2;              //將canvas畫布放大2倍或者更多,然后盛放在較小的容器內,就顯得不模糊了
  canvas2.style.width = w + "px";
  canvas2.style.height = h + "px";       
  var context = canvas2.getContext("2d");
  context.scale(2, 2);       //指圖片偏移
  html2canvas(document.querySelector('#dijit__TemplatedMixin_0'), {    //寫需要截圖的div    
   taintTest : false,  
   useCORS : true,   
   allowTaint :false,   //這三串代碼解決跨域問題  
     canvas : canvas2
  }).then(
    function(canvas) {
     document.querySelector("#down").setAttribute('href',canvas.toDataURL());      //down設置為你的點擊鍵
    });
window.onload = test;

截圖出來后,由于我的網址上有百度地圖的api,地圖圖片等等一些東西,用canvas網頁進行截圖是就會發現所有圖片的地方都是空白。這就是因為跨域。

來講一下跨域問題,我舉個例子說明這個跨域,比如我的網頁里面有的圖片不是來自于自己的服務器。那么,這張圖片就和這個網頁不是同域,那么html2canvas就無法對這種圖片進行截圖,如果你的網站的所有圖片都放在單獨的圖片服務器上,那么用html2canvas對整個網頁進行截圖是就會發現所有圖片的地方都是空白。

跨域問題網上好多大佬說用代理服務器來解決,但是感覺太麻煩,后來我使用了小段代碼就OK了。

taintTest : false,  
useCORS : true,   
allowTaint :false, 
//注:useCORS:true和allowTaint:true 這兩個都是來解決跨域問題的,但是并不可以一起使用,如果同時使用會出現錯誤。

上述內容就是怎么在JavaScript中使用cavas截圖網頁,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿鲁科尔沁旗| 曲周县| 密山市| 达日县| 六枝特区| 巩义市| 安国市| 万源市| 泉州市| 泰兴市| 永宁县| 海林市| 江陵县| 得荣县| 房山区| 武宁县| 茶陵县| 张家界市| 九龙坡区| 怀来县| 无极县| 肥城市| 丰城市| 闵行区| 屯留县| 偏关县| 巧家县| 城口县| 天长市| 永吉县| 松原市| 孟村| 天全县| 延边| 苍溪县| 富蕴县| 华蓥市| 邮箱| 新兴县| 济宁市| 桃园市|