網(wǎng)頁截圖(原生js)

使用原生js對網(wǎng)頁進行截圖,直接上代碼

1、目錄結(jié)構(gòu)

目錄結(jié)構(gòu)

index.html頁面

<!DOCTYPE html>

<html lang="en">

<head>

? ? <meta charset="utf-8">

? ? <meta name="viewport" content="width=device-width,initial-scale=1.0">

? ? <link rel="stylesheet" href="style.css">

? ? <link rel="stylesheet" >

? ? <title>screenshot</title>

? ? <script src="script.js" defer></script>

</head>

<body>

? ? <h1>習(xí)近平會見基辛格 我們不忘老朋友</h1>

? ? <p>習(xí)近平指出沐寺,基辛格博士剛剛度過百歲生日伊诵,你訪問中國已經(jīng)一百多次又跛。這兩個“一百”加在一起,使你這次訪華具有特殊意義性芬。52年前,中美兩國處在一個關(guān)鍵轉(zhuǎn)折點剧防,毛澤東主席植锉、周恩來總理同尼克松總統(tǒng)和你本人以卓越的戰(zhàn)略眼光,作出中美合作的正確抉擇峭拘,開啟了中美關(guān)系正称螅化進程,既造福了兩國棚唆,也改變了世界暇赤。中國人重情講義,我們不會忘記老朋友宵凌,不會忘記你為推動中美關(guān)系發(fā)展鞋囊、增進中

? ? </p>

? ? <h2>席先生,我很榮幸能夠訪問</h2>

? ? <p>席先生瞎惫,我很榮幸能夠訪問席先生溜腐,我很榮幸能夠訪問席先生,我很榮幸能夠訪問席先生瓜喇,我很榮幸能夠訪問席先生挺益,我很榮幸能夠訪問席先生,我很榮幸能夠訪問席先生乘寒,我很榮幸能夠訪問</p>

? ? <button id="src-btn">截圖保存</button>

? ? <div class="src-preview">

? ? ? ? <div class="screenshot">

? ? ? ? ? ? <i id="close-btn" class="fa-solid fa-xmark"></i>

? ? ? ? ? ? <img src="" alt="screenshot">

? ? ? ? </div>

? ? </div>

</body>

</html>

script.js


const screenshotBtn = document.querySelector("#src-btn");

screenshotPreview = document.querySelector(".src-preview");

closeBtn = screenshotPreview.querySelector("#close-btn");

captureScreen=async ()=>{

? ? try {

? ? ? ? const stream=await navigator.mediaDevices.getDisplayMedia({perferCurrentTab:true});

? ? ? ? const video=document.createElement("video");

? ? ? ? video.addEventListener("loadedmetadata",()=>{

? ? ? ? ? ? const canvas = document.createElement("canvas");

? ? ? ? ? ? const ctx = canvas.getContext("2d");

? ? ? ? ? ? canvas.width = video.videoWidth;

? ? ? ? ? ? canvas.height = video.videoHeight;

? ? ? ? ? ? video.play();

? ? ? ? ? ? ctx.drawImage(video, 0, 0, canvas.width, canvas.height);

? ? ? ? ? ? stream.getVideoTracks()[0].stop();

? ? ? ? ? ? //document.body.appendChild(canvas);

? ? ? ? ? ? screenshotPreview.querySelector("img").src = canvas.toDataURL();

? ? ? ? ? ? screenshotPreview.classList.add("show");

? ? ? ? })

? ? ? ? video.srcObject=stream;

? ? ? ? console.log(stream)

? ? } catch (error) {

? ? ? ? console.log(error)

? ? }

}

closeBtn.addEventListener("click", () => screenshotPreview.classList.toggle("show"));

screenshotBtn.addEventListener("click",captureScreen);

樣式style.css

#src-btn,.screenshot{

? ? position: fixed;

? ? left: 50%;

? ? ? transform: translate(-50%,-50%);

}

#src-btn{

? ? bottom: 15px;

? ? border:none;

? ? outline: none;

? ? background-color: #4a98f7;

? ? color: #fff;

? ? font-size: 1rem;

? ? padding: 15px 25px;

? ? cursor: pointer;

? ? border-radius: 25px;


}

.src-preview{

? ? position: fixed;

? ? display: none;

? ? top: 0;

? ? left: 0;

? ? height: 100%;

? ? width: 100%;

? ? background-color: rgba(0, 0, 0, 0.65);

}

.src-preview.show{

? ? display: block;

}

.src-preview .screenshot{

? ? width: 70%;

? ? top: 50%;

? ? aspect-ratio: 16 /9;

}

.screenshot img{

? ? width: 100%;

}

.screenshot #close-btn{

? ? position: absolute;

? ? right: -25px;

? ? cursor: pointer;

? ? color: #fff;

? ? font-size: 1.2rem;

}

以上望众,直接拷貝運行起來就OK了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烂翰,更是在濱河造成了極大的恐慌夯缺,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甘耿,死亡現(xiàn)場離奇詭異踊兜,居然都是意外死亡纬乍,警方通過查閱死者的電腦和手機族吻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窖壕,“玉大人毁葱,你說我怎么就攤上這事典蝌。” “怎么了头谜?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵骏掀,是天一觀的道長。 經(jīng)常有香客問我柱告,道長截驮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任际度,我火速辦了婚禮葵袭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乖菱。我一直安慰自己坡锡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布窒所。 她就那樣靜靜地躺著鹉勒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吵取。 梳的紋絲不亂的頭發(fā)上禽额,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音皮官,去河邊找鬼脯倒。 笑死,一個胖子當(dāng)著我的面吹牛捺氢,可吹牛的內(nèi)容都是我干的藻丢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼摄乒,長吁一口氣:“原來是場噩夢啊……” “哼悠反!你這毒婦竟也來了残黑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤问慎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挤茄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體如叼,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年穷劈,在試婚紗的時候發(fā)現(xiàn)自己被綠了笼恰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡歇终,死狀恐怖社证,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情评凝,我是刑警寧澤追葡,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站奕短,受9級特大地震影響宜肉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翎碑,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一谬返、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧日杈,春花似錦遣铝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涨冀,卻和暖如春梁沧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蝇裤。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工廷支, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栓辜。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓恋拍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親藕甩。 傳聞我的和親對象是個殘疾皇子施敢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容