javascript - 如何在 JavaScript 客户端截取网站/谷歌是如何做到的? (无需访问硬盘)

标签 javascript screenshot capture google-search

我正在开发需要呈现页面并在客户端(浏览器)端制作屏幕截图的 Web 应用程序。

我不需要将屏幕截图保存在本地硬盘上,只需将其保存在 RAM 中并稍后将其发送到应用程序服务器。

我研究过:

  1. BrowserShots 类似的服务...
  2. 机械化浏览器...
  3. wkhtmltoimage...
  4. Python WebKit2PNG...

但这些都没有给我我需要的一切,那就是:

  1. 在浏览器端处理(生成页面截图)。不需要保存在硬盘上!只是...
  2. ...将图像发送到服务器进行进一步处理。
  3. 捕获整个页面(不仅是可见部分)

最终我发现了 Google 的反馈工具(点击 YouTube 页脚上的“反馈”即可查看)。它包含 JavaScript for JPG encoding还有另外两个我无法确定它们到底是做什么的巨大脚本......

但它是在客户端处理的 - 否则将这个巨大的 JPEG 编码器放入代码中是没有意义的!

有人知道他们是如何做到的/我是如何做到的吗?

这是一个反馈示例(报告某些屏幕上的错误)

Feedback/report bug example

最佳答案

This answers your problem .

您可以使用 JavaScript/Canvas 来完成这项工作,但它仍处于试验阶段。

更新:

现在有一个库 https://html2canvas.hertzen.com/

关于javascript - 如何在 JavaScript 客户端截取网站/谷歌是如何做到的? (无需访问硬盘),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621907/

相关文章:

javascript - Firefox 没有为多部分请求设置正确的内容类型

c# - 无法捕捉屏幕

ios - 使用 Objective-C 进行 FaSTLane 快照

android - 如何在android中访问摄像头和麦克风?

javascript - 显示/隐藏元素破坏风格

javascript - 如何在 jQuery 中触发 URL 更改?

javascript - 使用 "alert"和 "confirm"作为变量名

java - 动画GIF,显示在JPanel上,不是用paint方法截图到文件中,但是JPG和PNG都可以

ffmpeg - 实时缓冲区太满 (FFMPEG)

javascript - 捕获submit()方法