一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript實現(xiàn)網(wǎng)頁截圖功能

使用JavaScript截圖,這里我要推薦兩款開源組件:一個是Canvas2Image,它可以將Canvas繪圖編程PNG/JPEG/BMP的圖像;但是光有它還不夠,我們需要給任意DOM(至少是絕大部分)截圖,這就需要html2canvas,它可以將DOM對象轉(zhuǎn)換成一個canvas對象。兩者的功能結(jié)合起來,就可以把頁面上的DOM截圖成PNG或者JPEG圖像了,很酷。

Canvas2Image

它的原理是利用了HTML5的canvas對象提供了toDataURL()的API:
復(fù)制代碼 代碼如下:
var strDataURI = oCanvas.toDataURL(); 
// returns "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."

這樣的結(jié)果是base64編碼的(事實上,image也可以通過這種方式以字符串的形式寫死到頁面上),所以我們還需要一個base64編解碼的lib。

但是目前的缺陷也有不少,比如目前Opera和Safari只支持PNG,F(xiàn)ireFox的支持性則好得多。

生成圖片有兩種方式寫入頁面,一種是生成一個圖片對象寫入頁面DOM樹中,這也是支持性比較好的方式:
復(fù)制代碼 代碼如下:
// returns an <img> element containing the converted PNG image 
var oImgPNG = Canvas2Image.saveASPNG(oCanvas, true);

但是如果你做一個JavaScript截圖功能的話,你可能希望截圖后能夠自動打開保存文件的“保存”對話框:

復(fù)制代碼 代碼如下:
Canvas2Image.saveASPNG(oCanvas);
// will prompt the user to save the image as PNG.

這個方式調(diào)用會生成一個mimeType為“image/octet-stream”的數(shù)據(jù)流到瀏覽器,但是“保存”對話框無法識別出圖片適當?shù)暮缶Y名,默認保存的文件在FireFox下是“xxx.part”這種名字,這是令人遺憾的地方,但是似乎沒有什么好辦法解決。

html2canvas

它作用于DOM加載的過程,收集其中的信息,再來繪制canvas圖像,也就是說,其實它并不是將展現(xiàn)的DOM樹截成canvas圖,而是仿照DOM樹重新繪制了一張canvas圖。于是很多CSS樣式都無法被準確識別出來,無法準確反映到圖上。

其它的限制還有不少,比如:

Javascript必須是同域的,對于跨域的情況需要使用代理服務(wù)器(API中有參數(shù)可以指定),對于image也同樣;
●frame內(nèi)的DOM樹無法被準確繪制;
●因為要繪制的是canvas圖,所以像IE8這樣的瀏覽器需要使用FlashCanvas這樣的第三方庫。

這個頁面可以測試各個網(wǎng)站使用它來截圖的效果,效果相當不錯:

API使用的例子:

復(fù)制代碼 代碼如下:
html2canvas(
    [dom1, dom2],
    {
        logging: false,
        useCORS: false,
        proxy:   false,
        onrendered: function(canvas){
            // canvas 就是繪制的canvas是對象
        }
    }
);

對于這一類相對小眾的類庫,文檔都是很差的,包括API的定義,需要閱讀源碼,代碼上寫得挺清楚的。

另外,該站點下載包里面還有一個JQuery的插件,對這個API做了一個封裝,可以無視。

JavaScript技術(shù)JavaScript實現(xiàn)網(wǎng)頁截圖功能,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲香蕉视频 | 国产成人精品高清在线观看99 | 男女91视频 | 亚洲视频大全 | 一区二区不卡视频 | 亚洲综合色一区二区三区小说 | 亚洲经典激情春色另类 | 91精品国产麻豆91久久久久久 | 日本一区二区视频免费播放 | 国产成人福利免费观看 | 欧美在线看欧美高清视频免费 | 色哟哟网| 精品日韩一区二区三区视频 | 精品99久久| 91免费精品国偷自产在线在线 | 2021中国大陆精品视频xxxx | 国产精久久一区二区三区 | www天天操| 亚洲人成综合 | 婷婷丁香在线观看 | 一区二区三区亚洲 | 国产精品久久一区二区三区 | 久久久久国产一级毛片高清板 | 成人在线免费观看视频 | 国产老鸭窝毛片一区二区 | 国产高清在线视频 | 国产精品亚洲国产三区 | 大胸国产精品视频 | 男人女人的免费视频网站 | 国产欧美一区二区精品性色tv | 一区二区在线视频 | 久久久久久久久亚洲 | 91在线看片| 色哟哟高清视频在线观看 | 乱子伦免费视频中文字幕 | 一区视频在线播放 | 九九激情视频 | 日本成人免费网站 | 一级做a爰片欧美aaaa | 久久久青草青青国产亚洲免观 | 四虎在线播放免费永久视频 |