首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JavaScript截取网页截图?

问用JavaScript截取网页截图?
EN

Stack Overflow用户
提问于 2008-09-13 10:21:09
回答 10查看 127.2K关注 0票数 149

有没有可能用JavaScript截取一个网页的屏幕截图,然后提交回服务器?

我不太关心浏览器的安全问题。等,就像HTA的实现一样。但这是可能的吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-09-15 14:40:44

我已经通过使用ActiveX控件为一个HTA做了这件事。在VB6中构建控件来截取屏幕截图非常容易。我必须使用keybd_event应用程序接口调用,因为SendKeys不能执行PrintScreen。下面是实现该功能的代码:

代码语言:javascript
复制
Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Const CaptWindow = 2

Public Sub ScreenGrab()
   keybd_event &H12, 0, 0, 0
   keybd_event &H2C, CaptWindow, 0, 0
   keybd_event &H2C, CaptWindow, &H2, 0
   keybd_event &H12, 0, &H2, 0
End Sub

这只能让你把窗口放到剪贴板上。

另一种选择是,如果您想要截图的窗口是一个HTA,那么只需使用XMLHTTPRequest将DOM节点发送到服务器,然后在服务器端创建屏幕截图。

票数 43
EN

Stack Overflow用户

发布于 2011-08-03 06:53:13

谷歌正在用Google+做这件事,一位才华横溢的开发人员对其进行了逆向工程,并产生了http://html2canvas.hertzen.com/。要在IE中工作,您需要一个画布支持库,如http://excanvas.sourceforge.net/

票数 142
EN

Stack Overflow用户

发布于 2012-02-14 07:25:29

我发现的另一个可能的解决方案是http://www.phantomjs.org/,它允许用户非常容易地截取页面和更多的屏幕截图。虽然我最初对这个问题的要求不再有效(不同的工作),但我可能会将PhantomJS集成到未来的项目中。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档