首页 / 知识
关于hta:使用JavaScript为网页截图吗?
2023-04-15 05:08:00

Take a screenshot of a webpage with JavaScript?是否可以使用JavaScript截取网页的屏幕截图,然后将其提交回服务器? 我不太担心浏览器的安全性问题。 等,因为实施将针对HTA。 但是有可能吗? Google正在Google+中进行此操作,而一位才华横溢的开发人员对其进行了反向工程,并制作了http://html2canvas.hertzen.com/。要在IE中工作,您需要一个画布支持库,例如http://excanvas.sourceforge.net/ 我已经通过使用ActiveX控件为HTA完成了此操作。在VB6中构建控件以截取屏幕截图非常容易。我必须使用keybd_event API调用,因为SendKeys无法执行PrintScreen。这是该代码:
这只会使您到达将窗口移到剪贴板。 另一个选择是,如果要获取屏幕快照的窗口是HTA,则只需使用XMLHTTPRequest将DOM节点发送到服务器,然后在服务器端创建屏幕快照。 我发现的另一种可能的解决方案是http://www.phantomjs.org/,它使人们可以非常轻松地拍摄页面截图以及更多内容。尽管我对这个问题的原始要求不再有效(不同的工作),但我可能会将PhantomJS集成到未来的项目中。 如果有可能这样做的话是Pounder的方法,那就是将整个人体元素设置为canvase,然后使用canvas2image? http://www.nihilogic.dk/labs/canvas2image/ 一种可能的方法是,如果在Windows上运行并安装了.NET,则可以执行以下操作:
然后通过PHP您可以执行以下操作:
然后,您将截图保存在服务器端。 对于您来说,这可能不是理想的解决方案,但仍然值得一提。 Snapsie是一个开放源ActiveX对象,它可以捕获和保存Internet Explorer屏幕快照。在客户端上注册DLL文件后,您应该能够捕获屏幕截图并将其使用JavaScript上传到服务器。缺点:它需要在客户端注册DLL文件,并且只能与InternetExplorer一起使用。 报告错误有类似的要求。由于它是针对Intranet方案的,因此我们能够使用浏览器插件(例如Firefox的Fireshot和InternetExplorer的IE截图)。
SnapEngage使用Java小程序(1.5+)制作浏览器屏幕截图。 AFAIK, 我刚刚找到了有关它的帖子:
我发现dom-to-image做得很好(比html2canvas好得多)。请参阅以下问题和解答:https://stackoverflow.com/a/32776834/207981 这个问题询问将其提交回服务器的可能性,但这是可能的,但是如果您要下载图像,则需要将其与FileSaver.js结合使用,以及是否要使用多个图像文件都在客户端生成,请看一下jszip。 您可以使用HTA和VBScript来实现。只需调用外部工具即可进行屏幕截图。我忘记了名称,但是在WindowsVista上有一个用于截屏的工具。您甚至不需要额外安装。 至于自动-完全取决于您使用的工具。如果它具有API,我相信您可以通过几次Visual Basic调用来触发屏幕截图和保存过程,而用户不会知道您做了什么。 既然您提到了HTA,我假设您使用的是Windows,并且(可能)非常了解您的环境(例如OS和版本)。 如果您愿意在服务器端进行操作,则可以使用PhantomJS之类的选项,现在不建议使用。最好的方式是在Head.Chrome上使用类似Puppeteer之类的Headless Chrome。使用Puppeteer捕获网页非常简单,如下所示:
但是,它需要无头chrome才能在您的服务器上运行,这有一定的依赖性,可能不适用于受限的环境。 (此外,如果您不使用Node.JS,则可能需要亲自处理浏览器的安装/启动。) 如果您愿意使用SaaS服务,则有很多选择,例如
https://grabz.it提供了一种使用Javascript截屏的绝佳解决方案。 它们具有灵活且易于使用的屏幕截图API,可被任何类型的JS应用程序使用。 如果您想尝试一下,首先应该获得授权应用密钥+机密和免费的SDK 然后,在您的应用中,实现步骤将是:
屏幕截图可以使用不同的参数进行自定义。例如:
就这样。 屏幕快照机制还有其他功能,您可以在此处进行探索。 也可以将屏幕截图保存在本地。为此,您将需要利用GrabzIt服务器端API。有关更多信息,请在此处查看详细指南。 |
最新内容
相关内容
浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执linux服务器基本命令?
linux服务器基本命令?,地址,系统,设备,网络,工作,标准,信息,电脑,命令,密码,linux如何查看ip地址命令(linux如何查看ip地址)1、目录方法1:使用Ulinux服务器下载命令?
linux服务器下载命令?,服务,密码,系统,档案,工具,网络,公共,百度,地址,认证,linux下lftp连接ftp服务器上传下载命令连接ftp服务器 格式:ftp [holinux命令提交代码?
linux命令提交代码?,工作,系统,地址,代码,命令,数据,信息,目录,标准,发行,求助:LINUX常用SHELL命令你可以通过打开Linux的terminal(终端)来执行Slinux安装浏览器命令?
linux安装浏览器命令?,官网,系统,平台,网站,管理,设备,咨询,工具,官方网站,软件,linuxcentos浏览器在哪里1、linux安装google浏览器方法如下:启linux服务器常用命令?
linux服务器常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,设备,功能,重启服务器的linux命令1、首先我首要把linux开机, 命令 rebot 这个怎么提交linux命令?
怎么提交linux命令?,服务,系统,环境,最新,百度,下来,数据,密码,地址,工作,用TELNET登录Linux怎么上传自己的文件到Linux机上telnet没有提供 文linux服务器保存命令?
linux服务器保存命令?,时间,状态,档案,电脑,命令,信息,位置,编辑,文件,模式,Linux的vi编辑后如何保存?1、按ESC键回到命令模式,输入:w保存即可,或linux服务器扫盘命令?
linux服务器扫盘命令?,地址,工作,命令,目录,数据,单位,名称,系统,管理,信息,Linux常用命令有哪些1、linux常用命令如下:查看内核版本:uname-a。linux命令切换服务器?
linux命令切换服务器?,地址,名称,系统,环境,实时,命令,服务器,脚本,路径,版本,如何远程管理Linux服务器?1、主控端Windows在控制窗口内点击“linux服务器搭建命令?
linux服务器搭建命令?,系统,服务,软件,地址,平台,在线,密码,工具,环境,百度,linux下简单快速的搭建ftp服务器环境具体步骤如下:检查安装vsftpd服务器重启命令linux?
服务器重启命令linux?,工作,标准,设备,服务,系统,名称,命令,百度,网络,密码,怎么使用linux命令重启服务器1、shutdown。poweroff。init。reboo