{"repo":"likaia/js-screen-shot","free":true,"listed":false,"github":"https://github.com/likaia/js-screen-shot","clone":"git clone https://github.com/likaia/js-screen-shot.git","description":"web端自定义截图插件(原生JS版)","language":"TypeScript","stars":997,"topics":["electron","javascript","screenshot","typescript","web-screenshot","js-screen-shot"],"license":"MIT","category":"dev-tools","readme_excerpt":"js-web-screen-shot · web端自定义截屏插件(原生JS版)，运行视频：实现web端自定义截屏功能 ,效果图如下： 写在前面 关于此插件的更多介绍以及实现原理请移步： - 实现Web端自定义截屏 - 实现Web端自定义截屏(JS版) 注意⚠️：本文档并非最新的，最新文档请移步官网 插件安装 插件使用 由于插件采用原生js编写且不依赖任何第三方库，因此它可以在任意一台支持js的设备上运行。 注意⚠️： 如果需要使用插件的webrtc模式或者截图写入剪切板功能，需要你的网站运行在 https 环境或者 localhost 环境。当然，也可以通过修改浏览器设置的方式实现在所有环境下都能运行。步骤如下： 1.打开谷歌浏览器，在地址栏输入 chrome://flags/#unsafely-treat-insecure-origin-as-secure 2.在打开的界面中：下拉框选择enabled，地址填写你的项目访问路径。 import形式使用插件 在需要使用截屏插件的业务代码中导入插件 在业务代码中使用时实例化插件即可 ⚠️注意：实例化插件时一定要等dom加载完成，否则插件无法正常工作。 cdn形式使用插件 将插件的 dist 文件夹复制到你的项目中 使用 script 标签引入dist目录下的 screenShotPlugin.umd.js 文件 在业务代码中使用时实例化插件即可 ⚠️注意：实例化插件时一定要等dom加载完成，否则插件无法正常工作。 推荐的 capture 配置 从 2.0.0 开始，推荐优先使用 capture 来描述截图来源与渲染策略： capture 支持的配置如下： source display-media 浏览器原生屏幕捕获 injected-stream 外部传入屏幕流，适合 Electron dom 使用 html2canvas 渲染当前页面 snapdom 使用 SnapDOM 渲染当前页面 image 使用外部传入的图片内容 render browser-frame 当前标签页截图 window-frame 窗口截图 cursor 屏幕捕获流是否包含鼠标指针，值为 never motion always ，默认 never 仅对 source: \"display-media\" 生效； injected-stream 模式下需要在创建外部流时自行处理 stream 当 source 为 injected-stream 时必传 imageSrc 当 source 为 image 时必传 snapdom 当 source 为 snapdom 时可传，值为 SnapDOM 导出的 snapdom 对象；不传时会读取 window.snapdom snapdomOptions 当 source 为 snapdom 时可传，值为 SnapDOM 的截图配置 旧参数 enableWebRtc 、 screenFlow 、 imgSrc 、 wrcWindowMode 仍然兼容，但已经进入废弃迁移阶段。新项目请直接使用 capture ，旧参数将在后续版本中移除。 electron环境下使用插件 由于electron环境下无法直接调用webrtc来获取屏幕流，因此需要调用者自己稍作处理，具体做法如下所示： 直接获取设备的窗口，主线程发送一个IPC消息handle 渲染线程(前端)发送消息封装处理(相应写法自己调整) 获取指定窗口的媒体流 前端调用设备窗口信息 capture.cursor 只会影响浏览器原生 disp","default_branch":null,"files":null,"tree":[],"storefront":"/r/likaia","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/likaia/js-screen-shot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}