在rails上的ruby中截取用户当前页面的屏幕截图

时间:2011-05-11 07:57:36

标签: ruby-on-rails

这是调试目的,请考虑以下内容:

  1. 用户登录到他/她的帐户,因此手动提取网址将无效 - 截图必须在用户访问其管理页面时一起发生。

  2. 很想获得特定于ruby on rails和heroku的指南(我猜heroku并不是什么问题我只是将屏幕截图转发给s3)。

  3. 理想情况下我在#1中提到过,当用户访问某个页面时,我的应用程序还会截取整个页面的截图并将其转储到tmp文件夹中。

    谁能指出我如何处理?

2 个答案:

答案 0 :(得分:1)

如果没有用户自己发送屏幕截图,则无法执行此操作。

答案 1 :(得分:1)

为了获得用户当前看到的内容的屏幕截图,您必须在用户的计算机上使用底层操作系统API获取屏幕截图。所涉及的API调用对于Windows,Mac OS X和Linux都是不同的。

Ruby on Rails在远程服务器上执行,并生成发送到用户Web浏览器的HTML和JavaScript等。 HTML由浏览器呈现,JavaScript在浏览器的沙箱中执行,它无法直接访问操作系统API。重要的是服务器端代码与用户计算机上运行的操作系统之间没有直接的交互。如果这是可能的话,那将是一个巨大的安全漏洞。

因此,除非您可以先在用户计算机上安装可与服务器端代码通信的客户端程序,否则无法以编程方式执行所需操作。仅使用Ruby on Rails无法做到这一点,因为它是一个服务器端的Web框架。