web 网页可以实现截图功能吗?类似 QQ 微信的截图功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制贴 AI 生成的内容
atfeel
V2EX    程序员

web 网页可以实现截图功能吗?类似 QQ 微信的截图功能

  •  
  •   atfeel 2024-08-18 15:19:04 +08:00 3049 次点击
    这是一个创建于 418 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似 QQ 微信的截图功能,web 网页可以实现截图功能吗,以前好像见过,现在找不到了,是不是配合插件实现的呢,各位有什么思路吗

    18 条回复    2024-08-19 13:53:20 +08:00
    leido
        1
    leido  
       2024-08-18 15:43:52 +08:00 via Android
    截图网页内业务可以,截图系统别想了
    AV1
        3
    AV1  
       2024-08-18 16:01:51 +08:00
    navigator.mediaDevices.getDisplayMedia()
    不过使用条件比较严格( HTTPS ),而且一般水平的前端开发者玩不来。
    mightybruce
        4
    mightybruce  
       2024-08-18 16:03:28 +08:00
    谷歌 chrome 自带截图
    键点击页面并打开检查器。

    在 Chrome 检查器的左上角,你会看到一个小手机图标。

    点击那个图标,网页顶部将出现一个新的黑色工具栏。

    在这个黑色工具栏中,你可以选择想要模拟的屏幕尺寸(对于桌面显示器来说,可能需要 1920x1080 )

    在黑色工具栏的右上角有三个点组成的菜单,在该菜单中你可以进行全屏截图
    mightybruce
        5
    mightybruce  
       2024-08-18 16:08:56 +08:00
    插件截图比较容易,尤其是那种懒加载,需要滚动不断下拉的页面,
    我用过的一个插件叫做 awesome screenshot 截图录屏
    Daitabashi
        6
    Daitabashi  
       2024-08-18 16:22:53 +08:00
    @leido 在线笔试时好像能共享整个桌面, 应该是有接口的吧, 一个对话框就共享了
    yukino
        7
    yukino  
       2024-08-18 16:33:26 +08:00
    你是否再找 Firefox
    kingofzihua
        8
    kingofzihua  
       2024-08-18 16:50:56 +08:00
    v1
        9
    v1  
       2024-08-18 17:14:09 +08:00
    @Daitabashi 不安装扩展或者插件不可能的吧,纯 web 在浏览器内的怎么溢出到系统层?
    xiangyuecn
        10
    xiangyuecn  
       2024-08-18 17:22:55 +08:00
    @DOLLOR #3 浏览器兼容性太差才是主要的,代码不复杂

    直接手撸 getDisplayMedia 截屏:
    ```
    navigator.mediaDevices.getDisplayMedia().then((stream)=>{
    var canvas=document.createElement("canvas");
    var video=document.createElement("video");
    video.srcObject=stream;
    var meta=stream.getVideoTracks()[0].getCapabilities();
    video.width=canvas.width=meta.width.max;
    video.height=canvas.height=meta.height.max;
    video.Onplay=()=>{ setTimeout(()=>{
    canvas.getContext("2d").drawImage(video,0,0);
    var b64=canvas.toDataURL("image/png");
    document.body.innerHTML='<img src="'+b64+'">'
    }, 1000)};
    video.play();
    }).catch((e)=>{ console.error(e) })
    ```
    Kumo31
        11
    Kumo31  
       2024-08-18 17:54:38 +08:00
    @kk2syc 只要浏览器提供接口,想关机都行。浏览器提供的接口远比想象的多,截屏当然有 https://developer.mozilla.org/zh-CN/docs/Web/API/Screen_Capture_API
    musi
        12
    musi  
       2024-08-18 18:01:20 +08:00 via iPhone
    @kk2syc #9 浏览器就不能提供 API ?现在 web 都可以直接用蓝牙/usb 串口了
    licoycn
        13
    licoycn  
       2024-08-18 18:11:09 +08:00
    可以,甚至网页录屏都可以,比如: https://utils.fun/screen-record ,不过网页截屏只可以对当前页面,具体还需要你自行尝试
    nekomiya
        14
    nekomiya  
       2024-08-18 19:00:29 +08:00
    v1
        15
    v1  
       2024-08-18 19:53:39 +08:00
    @Kumo31 @musi 你们说的对,是我 IE6 了
    subframe75361
        16
    subframe75361  
       2024-08-18 23:34:43 +08:00
    Edge Ctrl + Shift + S
    rb6221
        17
    rb6221  
       2024-08-19 09:53:28 +08:00
    firefox edge 都自带,国产各大浏览器更是不用说了
    xiandao7997
        18
    xiandao7997  
       2024-08-19 13:53:20 +08:00 via iPhone
    很早以前 webqq 时代我记得是能截的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2853 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 14:16 PVG 22:16 LAX 07:16 JFK 10:16
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86