Ответ 1
Вы можете захватить innerHTML
страницы, а затем обработать ее на сервере:
document.getElementsByTagName('html')[0].innerHTML;
// this would also be interactive (i.e. if you've
// modified the DOM, that would be included)
Я хочу добавить кнопку на один из наших веб-сайтов, который позволит пользователю регистрировать ошибку с нашей системой отслеживания ошибок.
Один из запросов функции заключается в том, что на экран будет отправлен экран.
Не устанавливая что-то на машине конечных пользователей, как я могу это сделать? Есть ли у javascript какой-то экранный экран api?
Вы можете захватить innerHTML
страницы, а затем обработать ее на сервере:
document.getElementsByTagName('html')[0].innerHTML;
// this would also be interactive (i.e. if you've
// modified the DOM, that would be included)
Получите как можно больше информации о пользовательской среде с помощью jQuery. (jQuery.support)/пользовательский агент/файлы cookie/входные данные формы, url (для получения параметров и знать, какая страница имела ошибку)
Отправьте исходный код страницы, как указано Moff. Попробуйте выполнить сериализацию DOM, как сейчас, чтобы сравнить то, что отличается от исходной.
Также полезно отправить исходный код страницы, если вам нужно сохранить его в исторических целях, поскольку, когда вы обновляете страницу, это станет другим.
Нет, у javascript ничего подобного нет.
Я боюсь, что это будет довольно сложно. Я не могу думать ничего такого, что бы сделать это без установки на компьютере пользователя.
Я бы хотел, чтобы вас доказали неправильно, но по крайней мере это ответ для вас.
Я бы предложил какую-то интеграцию с FireShot, которая является бесплатным дополнением Firefox/IE.
Я согласен с другими ответами - без кубиков.
Тем не менее, есть плагин firefox, Pearl Crescent Saver, который, возможно, стоит посмотреть на связанные задачи.
Посмотрите pagecrop (реализована с помощью jQuery + jCrop plug-in)
Я должен что-то упустить, но не могу просто...
Нажмите PrtScr на клавиатуре и вставьте в электронную почту.
См. этот вопрос. В принципе, нет, не с javascript. Возможно, с помощью ActiveX, но это касается установки на клиентском ПК.
Рассмотрите возможность написания серверной стороны script, которая точно повторяет запрос пользователя (предполагая, что это не после POST) и сохраняет полученный html файл.
Вы можете изучить веб-решение, например, предлагаемое в Super Screenshot! или WebShotsPro.com. В зависимости от ваших потребностей, таких как скриншоты определенных областей страниц или страниц, недоступных для внешнего мира, это может не сработать для вас, но это идея.
Chrome-плагин https://chrome.google.com/extensions/detail/ckibcdccnfeookdmbahgiakhnjcddpki
Вы также можете взглянуть на то, как Evernote выполняет захват экрана, и, возможно, вы можете связать это или создать собственное хромовое расширение. https://chrome.google.com/webstore/detail/evernote-web-clipper/pioclpoplcdbaefihamjohnefbikjilc?hl=en