有没有可能用JavaScript截取一个网页的屏幕截图,然后提交回服务器?
我不太关心浏览器的安全问题。等,就像HTA的实现一样。但这是可能的吗?
发布于 2008-09-15 14:40:44
我已经通过使用ActiveX控件为一个HTA做了这件事。在VB6中构建控件来截取屏幕截图非常容易。我必须使用keybd_event应用程序接口调用,因为SendKeys不能执行PrintScreen。下面是实现该功能的代码:
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节点发送到服务器,然后在服务器端创建屏幕截图。
发布于 2011-08-03 06:53:13
谷歌正在用Google+做这件事,一位才华横溢的开发人员对其进行了逆向工程,并产生了http://html2canvas.hertzen.com/。要在IE中工作,您需要一个画布支持库,如http://excanvas.sourceforge.net/
发布于 2012-02-14 07:25:29
我发现的另一个可能的解决方案是http://www.phantomjs.org/,它允许用户非常容易地截取页面和更多的屏幕截图。虽然我最初对这个问题的要求不再有效(不同的工作),但我可能会将PhantomJS集成到未来的项目中。
https://stackoverflow.com/questions/60455
复制相似问题