Скриншот страницы на стороне клиента

2354570

Есть такая задача - отобразить внутри просматриваемой страницы другую (например, в iframe). Потом сделать скриншот этой внутренней страницы и отправить ее на сервер в виде графического файла.
Подскажите, пожалуйста, в какую сторону есть смысл копать для этого? А то я не спец по рич интерфейсам.
Если я правильно понимаю, то средствами самого джаваскрипта такое не сделать, поэтому js-фреймворки не помогут. Наверное, это можно сделать средствами Flash или Silverlight, но есть ли в их составе компонент, который просто отображает страницу, как это делает iframe в браузере?

karkar


<p>
Dear user, please press PrintScreen button, open an image editor, paste, save and send the file to the following address: ....
</p>

2354570

OMG, точно!1 Я же чувствовал, что есть простое решение!
:smirk:

durka82

Эээ, а смысл (или это таки банальный хак пользователя)?
Можно же получить всю информацию о состоянии страницы - значит можно и на сервере скриншот нарисовать.
Уж на флэше-то точно можно: состояние флэш-ролика на клиенте загрузить в такой же ролик на сервере.

vall


<p>
Dear user, please press PrintScreen button, open an image editor, paste, save and send the file to the following address: ....
</p>

fixed

2354570

Не, на сервере получить рендер страницы - это не то, нужно именно на клиенте.
Я попробую объяснить, что происходит, может будет понятнее. Только не спрашивайте, что, зачем и почему, спишем все на мои эротические технические фантазии.
Пользователь входит на страницу. Его просят ввести урл. Он вводит. Ему в пределах той же страницы показывают сайт, урл которого он ввел (пусть для простоты ему все это показывают в айфрейме). Пользователь с сайтом в айфрейме взаимодействует - там, логинится, на ссылки жмет. В какой-то момент он думает "все, вот теперь хочу сделать скриншот" и жмет на соответствующую кнопку на родительской странице - в которой находится айфрейм. Клиентский скрипт (назовем это так) делает скриншот текущего состояния айфрейма и отсылает графический файл на сервер.

2354570

Минусующему - тебе не понравилась постановка задачи или то, что ты (тоже) не знаешь, как ее можно решить? ;)

durka82

Расширением для Огнелиса такое точно делается.
Но клиент предварительно должен его установить (ну и браузер тоже).

2354570

Ну, это понятно, так-то в принципе и расширение для огнелиса или хрома можно было бы написать под это дело, но этот подход для широкой аудитории не подойдет, увы.

hwh2010

а широкая аудитория — она, понимаешь ли, не хочет чтобы скриншоты просматриваемых страниц были доступны тебе
или тебе непонятно, почему твоя фигня нарушает privacy?

2354570

Моя фигня нарушала бы прайвеси, если бы она без ведома пользователя все это делала.
А здесь смысл как раз в том, что пользователь сам и сознательно в определенный момент жмет кнопку, чтобы получить скриншот и отправить его на сервер. Вокруг этого все и крутится и пользователи прекрасно знают, что происходит.
В таком контексте это такое же нарушение прайвеси, как когда мы делаем скриншот прогой типа SnagIt, чтобы выложить его на форум по своей инициативе.
Оставить комментарий
Имя или ник:
Комментарий: