亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html5使用html2canvas實現瀏覽器截圖的示例

2024-08-26 00:19:57
字體:
來源:轉載
供稿:網友

最近做項目為了解決全局異常信息記錄,研究了一下瀏覽器全屏截圖功能,方便用戶發現異常時能夠快速截圖發給管理員。最終記錄的異常信息如下,上面的【截圖報告管理員】就是使用html2canvas前端插件實現的。

html2canvas,截圖,瀏覽器截圖

html2canvas介紹

以前我們只能通過其他的截圖工具來截取圖像?,F代瀏覽器的功能已經越來越強,隨著H5的逐漸普及,瀏覽器本身就可以截圖啦。html2canvas就是這樣一款前端插件,它的原理是將Dom節點在Canvas里邊畫出來。雖然很方便,但有以下限制:

  • 不支持iframe
  • 不支持跨域圖片
  • 不能在瀏覽器插件中使用
  • 部分瀏覽器上不支持SVG圖片
  • 不支持Flash
  • 不支持古代瀏覽器和IE,如果你想確認是否支持某個瀏覽器,可以用它訪問 http://deerface.sinaapp.com/ 試試 :)

由于我的使用場景很簡單,記錄一下異常信息,并且異常頁面也是由自己定義的,那么html2canvas 就足夠使用了。

使用實例

引用jquery,html2canvas即可,使用代碼也很簡單。我這里使用的是 html2canvas 0.5.0 版本

 html2canvas($("#tbl_exception"), {         onrendered: function (canvas) {             var url = canvas.toDataURL();              //以下代碼為下載此圖片功能             var triggerDownload = $("<a>").attr("href", url).attr("download", getNowFormatDate()+"異常信息.png").appendTo("body");               triggerDownload[0].click();               triggerDownload.remove();           }   });

第一個參數是要截圖的Dom對象,第二個參數時渲染完成后回調的canvas對象。

 

Name Type Default Description
allowTaint boolean false Whether to allow cross-origin images to taint the canvas
background string #fff Canvas background color, if none is specified in DOM. Set undefined for transparent
height number null Define the heigt of the canvas in pixels. If null, renders with full height of the window.
letterRendering boolean false Whether to render each letter seperately. Necessary ifletter-spacing is used.
logging boolean false Whether to log events in the console.
proxy string undefined Url to the proxy which is to be used for loading cross-origin images. If left empty, cross-origin images won't be loaded.
taintTest boolean true Whether to test each image if it taints the canvas before drawing them
timeout number 0 Timeout for loading images, in milliseconds. Setting it to 0 will result in no timeout.
width number null Define the width of the canvas in pixels. If null, renders with full width of the window.
useCORS boolean false Whether to attempt to load cross-origin images as CORS served, before reverting back to proxy

 

問題分析

介紹完使用之后,說說自己使用中遇到的問題,截圖只能截取當前屏幕內的內容。在查看插件源碼,進行調試之后找到了解決方案。下面貼出源碼和修改后的代碼

源碼:

 return renderDocument(node.ownerDocument, options, node.ownerDocument.defaultView.innerWidth, node.ownerDocument.defaultView.innerHeight, index).then(function(canvas) {        if (typeof(options.onrendered) === "function") {            log("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas");            options.onrendered(canvas);        }        return canvas;    });

修改代碼:

   //2016-02-18修改源碼,解決BUG 對于部分不能截屏不能全屏添加自定義寬高的參數以支持    var width = options.width != null ? options.width : node.ownerDocument.defaultView.innerWidth;    var height = options.height != null ? options.height : node.ownerDocument.defaultView.innerHeight;    return renderDocument(node.ownerDocument, options, width, height, index).then(function (canvas) {        if (typeof(options.onrendered) === "function") {            log("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas");            options.onrendered(canvas);        }        return canvas;    });

主要是讓用戶調用時能夠自定義需要截取Dom對象的寬和高,現在調用方式如下

            $("#btn_screen").on("click", function () {                               html2canvas($("#tbl_exception"), {                    height: $("#tbl_exception").outerHeight() + 20,                    onrendered: function (canvas) {                        var url = canvas.toDataURL();                        //以下代碼為下載此圖片功能                        var triggerDownload = $("<a>").attr("href", url).attr("download", getNowFormatDate()+"異常信息.png").appendTo("body");                        triggerDownload[0].click();                        triggerDownload.remove();                    }                });            });

總結

通過前端插件即實現了瀏覽器全屏截圖功能,不得不說H5功能越來越強大,以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
 


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久9999| 黑人与娇小精品av专区| 欧美疯狂xxxx大交乱88av| 久久精品国产成人| 91免费看片在线| 中文字幕日韩专区| 亚洲色图第一页| 久久视频在线看| 亚洲天堂男人天堂| 欧美激情精品久久久久久变态| 久久精品电影网站| www.国产精品一二区| 精品欧美激情精品一区| 伊人久久久久久久久久久久久| 久久噜噜噜精品国产亚洲综合| 亚洲精品720p| 97精品一区二区视频在线观看| 亚洲成人中文字幕| 国产精品视频中文字幕91| 欧美亚洲另类视频| 亚洲无线码在线一区观看| 国产精品香蕉在线观看| 国产精品爱久久久久久久| 97av在线视频免费播放| 在线播放国产一区二区三区| 不卡在线观看电视剧完整版| 亚洲第一网中文字幕| 国产91在线播放九色快色| 欧美午夜影院在线视频| 欧美国产精品人人做人人爱| 国产精品第10页| 国产福利视频一区| 久久男人的天堂| 欧美午夜无遮挡| 亚洲大胆人体av| 国产精品视频99| 国产日韩专区在线| 久久精品中文字幕| 日韩h在线观看| 欧美高清视频在线播放| 96精品久久久久中文字幕| 亚洲第一免费播放区| 亚洲激情自拍图| 伦伦影院午夜日韩欧美限制| 亚洲精品国产精品乱码不99按摩| 亚洲激情免费观看| 日韩一二三在线视频播| 欧美激情一区二区三区久久久| 久久久久国产精品www| 日韩在线免费视频| 欧美极度另类性三渗透| 日本亚洲欧美三级| 青青青国产精品一区二区| 国产亚洲成av人片在线观看桃| 美女扒开尿口让男人操亚洲视频网站| 日韩最新av在线| 久热精品视频在线| 欧美性猛交视频| 欧美精品福利视频| 日韩电影中文字幕一区| 亚洲一区二区三区成人在线视频精品| 最近2019中文免费高清视频观看www99| 久久久久久久久久久91| 亚洲成人亚洲激情| 欧美性高跟鞋xxxxhd| 久久精品一区中文字幕| 在线观看日韩专区| 国产91精品在线播放| 久久久久久久色| 国产精品18久久久久久首页狼| 亚洲一区二区久久久久久| xvideos亚洲| 日本久久久久久久久| 日韩美女福利视频| 日韩中文理论片| 欧美成人精品三级在线观看| 美女久久久久久久久久久| 久久成人18免费网站| 97视频在线观看网址| 国产a∨精品一区二区三区不卡| 国产精品久久婷婷六月丁香| 色偷偷av亚洲男人的天堂| 日韩成人在线播放| 国产精品久久国产精品99gif| 欧美日韩国产成人在线| 2021久久精品国产99国产精品| 国产999精品| 亚洲剧情一区二区| 欧美成人在线免费视频| 欧美黑人巨大精品一区二区| 国产999精品久久久影片官网| 68精品国产免费久久久久久婷婷| 国产成人自拍视频在线观看| 久久久国产成人精品| 久久精品国产成人| 91青草视频久久| 久久久久久亚洲精品中文字幕| 国内精品美女av在线播放| 精品久久久久久国产91| 久久久亚洲影院你懂的| 91久久久亚洲精品| 欧美在线观看网址综合| 久久成人18免费网站| 欧美丰满少妇xxxxx做受| 欧美大片在线看| 91色琪琪电影亚洲精品久久| 中文字幕精品www乱入免费视频| 国产福利精品在线| 亚洲激情视频在线| 国产成人精品电影| 亚洲理论在线a中文字幕| 亚洲奶大毛多的老太婆| 国产91成人video| 欧美成人精品三级在线观看| 亚洲大尺度美女在线| 国外成人在线直播| 日产日韩在线亚洲欧美| 久久久久久亚洲精品不卡| 成人国产亚洲精品a区天堂华泰| 亚洲欧美日韩视频一区| 亚洲色图校园春色| 97视频在线观看亚洲| 亚洲大胆美女视频| 久久精品一偷一偷国产| 伊人伊成久久人综合网小说| 疯狂做受xxxx欧美肥白少妇| 亚洲免费伊人电影在线观看av| 日韩福利在线播放| 亚洲精品国产精品久久清纯直播| 久久亚洲春色中文字幕| 亚洲国产天堂网精品网站| 97久久久免费福利网址| 26uuu久久噜噜噜噜| 日韩精品免费在线视频| 热久久美女精品天天吊色| 日韩欧美亚洲范冰冰与中字| 亚洲xxxxx电影| 97精品国产97久久久久久春色| 国产亚洲欧洲高清一区| 国产精品久久久久久久一区探花| 精品无人区太爽高潮在线播放| 91精品免费看| 欧美日产国产成人免费图片| 欧美激情一区二区三级高清视频| 久久久爽爽爽美女图片| 欧美性受xxxx黑人猛交| 亚洲欧洲日产国产网站| 深夜福利91大全| 国产精品亚洲第一区| 亚洲精品99久久久久| 最近2019中文字幕大全第二页| 成人国产在线激情| 91系列在线播放| 国产日韩欧美影视| 成人精品久久av网站| 日韩男女性生活视频| 国产精品v片在线观看不卡| 色噜噜久久综合伊人一本| 亚洲精品美女视频| 欧美午夜www高清视频| 亚洲xxxx18| www亚洲精品| 2021国产精品视频| 97在线视频免费观看|