javascript - 捕获特定 DOM 元素的屏幕截图 (vanllla js)
问题描述
我有一张图片用作背景,然后我在这张“卡片”上显示了不同的信息。
我需要将文本和图像作为单个文件下载。
这是我的代码示例:
/* Container holding the image and the text */
.container {
position: relative;
text-align: center;
color: white;
}
/* Centered text */
.centered {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
<div class="container">
<img src="https://www.w3schools.com/howto/img_snow_wide.jpg" alt="Snow" style="width:100%;">
<div class="centered">Overlay text</div>
</div>
我已经看到有一种方法可以通过以下步骤对 DOM 中的特定元素进行屏幕截图:
- 检查您要捕获的元素。
- 使用 Cmd + Shift + P / Ctrl + Shift + P 打开命令菜单。
- 输入屏幕截图。
- 您现在可以仅捕获特定元素的屏幕截图、视口屏幕截图或整页屏幕截图。
在我的例子中,我有许多.container
带有自己覆盖文本的元素,我希望允许用户将.container
DOM 元素作为单个图像下载。
正如@Abhay-Sehgal 所建议的那样,我可以将这些显示为独立的图像,然后当用户保存页面时,他们有 html 代码和包含所有图像的捆绑文件夹。但是为了达到这一步,我需要生成这些 DOM 元素的图像,这些图像嵌入了文本。
有没有办法以编程方式从控制台截取 DOM 元素的屏幕截图?
(或者甚至只是通过运行一些普通的 javascript 代码而不是通过浏览器的 UI)
解决方案
Firefox 有这个功能。其他主流浏览器不知道。
火狐控制台截图描述
图像通过:screenshot --selector '#hot-network-questions'
推荐阅读
- php - PHP,使用包含下划线的变量名创建一个 mySQL 表
- apache - 如何在 Nuxt 路由器中手动生成带有 .htaccess 的 404 页面回退的页面
- c++ - wxWidgets wxThreadHelper 示例问题
- python - 无法进入 tkinter,python
- json - 从包含多个 json 数据的文件中提取单个 json 数据并使其紧凑
- flutter - 如何使聊天气泡形状使用路径?
- linux - libusb bulk 的最大传输大小是多少?
- objective-c - 将TV菜单按钮设置为返回一个屏幕
- javascript - 为什么javascript不能注册getSignedUrl()(云函数)?
- javascript - 我如何让 math.random 不做其他所有事情