Сделать скриншот веб-страницы с JavaScript?

Не прямой ответ, но я настоятельно рекомендую прочитать: http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf , чтобы лучше понять дженерики.

145
задан Peter Mortensen 27 May 2014 в 20:09
поделиться

4 ответа

Я сделал это для HTA при помощи элемента управления ActiveX. Было довольно легко создать управление в VB6, чтобы сделать снимок экрана. Я должен был использовать keybd_event вызов API, потому что 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 в сервер, затем создать серверную сторону снимков экрана.

41
ответ дан Joel Anair 27 May 2014 в 20:09
поделиться

Это не могло бы быть идеальным решением для Вас, но это могло бы все еще стоить упомянуть.

Snapsie является открытым исходным кодом, объект ActiveX, который позволяет снимкам экрана Internet Explorer быть полученными и сохраненными. , Как только файл DLL регистрируется на клиенте, необходимо быть в состоянии получить снимок экрана и загрузить файл на скручивание жгутов сервера JavaScript. Недостатки: это должно зарегистрировать файл DLL в клиенте и работает только с Internet  Проводник.

7
ответ дан Peter Mortensen 27 May 2014 в 20:09
поделиться

Можно достигнуть того использования HTA и VBScript. Просто назовите внешний инструмент, чтобы сделать screenshotting. Я забыл, каково имя, но на Windows  Vista там является инструментом, чтобы сделать снимки экрана. Вам даже не нужна дополнительная установка для него.

Что касается как автоматическое - это полностью зависит от инструмента, который Вы используете. Если это имеет API, я уверен, что можно инициировать снимок экрана и сохраняющий процесс через несколько вызовов Visual Basic без пользователя, знающего, что Вы сделали то, что Вы сделали.

, Так как Вы упомянули HTA, я предполагаю, что Вы находитесь в Windows и (вероятно) знаете свою среду (например, ОС и версия) очень хорошо.

1
ответ дан Peter Mortensen 27 May 2014 в 20:09
поделиться

У нас было подобное требование для того, чтобы сообщить об ошибках. Так как это было для сценария интранет, мы смогли использовать дополнения браузера (как Fireshot для Firefox и Снимок экрана IE для Internet  Проводник).

6
ответ дан Peter Mortensen 27 May 2014 в 20:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: