сделать скриншот текущей страницы пользователя в ruby ​​on rails - PullRequest
2 голосов
/ 11 мая 2011

это цель отладки, пожалуйста, примите во внимание следующее:

  1. пользователь входит в свою учетную запись, поэтому ручная загрузка URL-адреса не будет работать - скриншот должен происходить вместе, когда пользователь получает доступ к своим страницам администратора.

  2. хотел бы получить рекомендации, относящиеся к ruby ​​на рельсах и heroku (я думаю, что heroku - не большая проблема, я просто выкидываю скриншот в s3).

так идеально, как я упоминал в # 1, когда пользователь получает доступ к странице, мое приложение также делает снимок экрана всей страницы и выгружает его в папку tmp.

Может кто-нибудь указать мне, как справиться с этим?

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Чтобы получить снимок экрана с тем, что в данный момент видит пользователь, вам нужно иметь некоторый код на компьютере пользователя, который использует базовый API операционной системы для создания снимка экрана. Используемые вызовы API различаются для Windows, Mac OS X и Linux.

Ruby on Rails запускается на удаленном сервере и генерирует HTML, JavaScript и т. Д., Которые отправляются в веб-браузер пользователя. HTML визуализируется браузером, а JavaScript выполняется в песочнице браузера, где у него нет прямого доступа к API операционной системы. Важным моментом является отсутствие прямого взаимодействия между кодом на стороне сервера и ОС, работающей на компьютере пользователя. Если бы это было возможно, то это была бы огромная дыра в безопасности.

Поэтому программно невозможно делать то, что вы хотите, если вы не можете сначала установить клиентскую программу на компьютер пользователя, которая может взаимодействовать с вашим кодом на стороне сервера. Это невозможно сделать с помощью только Ruby on Rails, поскольку это веб-инфраструктура на стороне сервера.

1 голос
/ 11 мая 2011

Вы не сможете сделать это, если пользователь сам не отправит скриншот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...