【问题标题】:Screencapture from the browser using Javascript?使用 Javascript 从浏览器截屏?
【发布时间】:2012-10-23 16:04:44
【问题描述】:

我想这是一个奇怪的问题,答案很可能是不可能的,因为它代表了安全漏洞;但我正在寻找一种方法——如果有的话——在浏览器中获取内容的屏幕转储。我不需要整个窗口,但实际上只需要转储标签的呈现状态。它需要跨平台和跨浏览器兼容。

【问题讨论】:

  • 您能否详细说明您正在尝试做什么。例如标签是什么。你需要什么样的状态信息,你打算用它做什么。根据您的简短解释,我认为不需要截屏。
  • 我想转储 Silverlight 对象的内容 - 我的意思是实际渲染的输出。
  • 这不能用 Silverlight API 做吗?例如,它可以在 Flash 中完成。我认为 JS 不可能,所以在 SL 中做可能是唯一的选择。
  • 真的。它可以用闪光灯来完成..嗯..这让我想;实例化 Flash 并让它为我完成所有的脏活。还没有在 SL 中找到这样做的方法。感谢您的领导!
  • 这个问题在 StackOverflow 上被问了很多。这是最古老但最好的主题之一: stackoverflow.com/questions/60455/…

标签: javascript


【解决方案1】:

(目前)还不能在纯 JavaScript 中完成。

附带说明,如果您的目标是进行渲染测试,您可以尝试在托管环境中实例化目标浏览器(即在 WinForms 应用程序中托管 Internet Explorer 并获取渲染内容的屏幕截图) - 这将显示 Silverlight 插件并允许截屏。

【讨论】:

  • 自 2011/2012 年起不再适用。尽管浏览器无法启动屏幕截图(没有插件/扩展),但某些浏览器现在支持粘贴二进制图像数据。
  • 这与截取 Silverlight 插件的截图有什么关系?
  • 现在可以查看页面,点击打印屏幕按钮,然后点击粘贴到浏览器窗口,让网站的 javascript 处理图像(这是不可能几年前)。但是您仍然无法使用 javascript 自动执行整个“打印屏幕”过程。我想这就是我的意思。
【解决方案2】:

如果您不需要实际的屏幕截图,您可以获取内容的 innerHTML 并通过 Ajax 将其发送回服务器,将其存储在某处并远程查看。

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多