最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實現(xiàn)頁面截圖3種解決方案

 更新時間:2024年06月20日 11:05:07   作者:高樹悲風(fēng)  
網(wǎng)頁截圖是指將網(wǎng)頁上的內(nèi)容截取下來,并保存為圖片的過程,下面這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)頁面截圖的3種解決方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.html2canvas

npm install html2canvas

// 引入html2canvas庫
import html2canvas from 'html2canvas';

// 設(shè)置定時器,每隔10秒執(zhí)行一次截圖操作
setInterval(async () => {
  try {
    // 將網(wǎng)頁內(nèi)容轉(zhuǎn)換為canvas元素
    const canvas = await html2canvas(document.body);

    // 將canvas元素轉(zhuǎn)換為圖片文件base64
    const img = canvas.toDataURL('image/png');

    // 圖片文件img 處理上床后端
    
  } catch (error) {
    console.error('截圖失?。?, error);
  }
}, 10000);

2、獲取屏幕流轉(zhuǎn)為圖片

async function screenshot() {  
    // 獲取屏幕流  
    const displayMediaOptions = {  
        video: {  
            cursor: "always"  
        }  
    };  
    const stream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);  
  
    // 創(chuàng)建一個video元素來播放屏幕流  
    const video = document.createElement('video');  
    video.srcObject = stream;  
    await video.play();  
  
    // 創(chuàng)建一個canvas元素來截屏  
    const canvas = document.createElement('canvas');  
    canvas.width = video.videoWidth;  
    canvas.height = video.videoHeight;  
  
    // 將視頻播放的內(nèi)容繪制到canvas上  
    const context = canvas.getContext('2d');  
    context.drawImage(video, 0, 0, canvas.width, canvas.height);  
  
    // 將canvas內(nèi)容轉(zhuǎn)換為base64  
    const base64 = canvas.toDataURL();  
  
    // 關(guān)閉視頻流  
    video.srcObject.getTracks().forEach((track) => track.stop());  
  
    return base64;  
}

3、讓使用者在瀏覽器插件再去調(diào)用插件(不推薦)

總結(jié)

到此這篇關(guān)于JavaScript實現(xiàn)頁面截圖3種解決方案的文章就介紹到這了,更多相關(guān)js頁面截圖解決方案內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript動態(tài)加載重復(fù)綁定問題

    JavaScript動態(tài)加載重復(fù)綁定問題

    這篇文章主要介紹了JavaScript動態(tài)加載重復(fù)綁定問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • JS事件添加和移出的兼容寫法示例

    JS事件添加和移出的兼容寫法示例

    這篇文章主要介紹了JS事件添加和移出的兼容寫法,結(jié)合實例形式分析了javascript針對不同瀏覽器實現(xiàn)實現(xiàn)添加與移除事件的相關(guān)技巧與使用方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Javascript實現(xiàn)返回上一頁面并刷新的小例子

    Javascript實現(xiàn)返回上一頁面并刷新的小例子

    這篇文章主要介紹了Javascript實現(xiàn)返回上一頁面并刷新的小例子,有需要的朋友可以參考一下
    2013-12-12
  • JS創(chuàng)建自定義對象的六種方法總結(jié)

    JS創(chuàng)建自定義對象的六種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于JS創(chuàng)建自定義對象的六種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • uni-app使用uploadFile上傳多張圖片的具體實現(xiàn)

    uni-app使用uploadFile上傳多張圖片的具體實現(xiàn)

    在微信小程序中不支持多張圖片上傳,需要做循環(huán)實現(xiàn)多張圖片上傳,下面這篇文章主要給大家介紹了關(guān)于uni-app使用uploadFile上傳多張圖片的具體實現(xiàn),需要的朋友可以參考下
    2023-04-04
  • 微信小程序?qū)崿F(xiàn)多宮格抽獎活動

    微信小程序?qū)崿F(xiàn)多宮格抽獎活動

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多宮格抽獎功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解webpack import()動態(tài)加載模塊踩坑

    詳解webpack import()動態(tài)加載模塊踩坑

    這篇文章主要介紹了詳解webpack import()動態(tài)加載模塊踩坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 教你用javascript實現(xiàn)隨機標(biāo)簽云效果_附代碼

    教你用javascript實現(xiàn)隨機標(biāo)簽云效果_附代碼

    下面小編就為大家?guī)硪黄棠阌胘avascript實現(xiàn)隨機標(biāo)簽云效果_附代碼。小編覺得很實用,現(xiàn)在分享給大家。給大家一個參考
    2016-03-03
  • JS使用可選鏈操作符 (?.) 進(jìn)行空值檢查的操作

    JS使用可選鏈操作符 (?.) 進(jìn)行空值檢查的操作

    在 JavaScript 中,處理嵌套對象或數(shù)組時,經(jīng)常會遇到空值檢查的問題,傳統(tǒng)的空值檢查通常比較繁瑣,容易導(dǎo)致代碼冗長且難以閱讀,ES2020 引入了可選鏈操作符 (?.),極大地簡化了這些檢查過程,本文介紹了JS使用可選鏈操作符 (?.) 進(jìn)行空值檢查的操作
    2024-12-12
  • JavaScript中filter() 和find()的區(qū)別對比小結(jié)

    JavaScript中filter() 和find()的區(qū)別對比小結(jié)

    filter()?和?find()?都是 JavaScript 數(shù)組的高階函數(shù),用于搜索數(shù)組元素,本文主要介紹了JavaScript中filter() 和find()的區(qū)別對比,感興趣的可以了解一下
    2025-05-05

最新評論

广水市| 溆浦县| 岳阳市| 苍山县| 新余市| 柯坪县| 武功县| 隆化县| 德昌县| 汽车| 和平区| 平泉县| 阆中市| 临澧县| 广德县| 平南县| 上高县| 游戏| 城口县| 阜宁县| 香港| 偏关县| 蒙自县| 正镶白旗| 淳化县| 南部县| 陇川县| 蛟河市| 雷州市| 喀什市| 临江市| 清水县| 平利县| 板桥市| 金沙县| 收藏| 喀喇沁旗| 稷山县| 将乐县| 吉水县| 本溪|