我想在我们的一个网站上添加一个按钮,允许用户使用我们的错误跟踪系统提交错误。
其中一项功能要求是发送相关页面的屏幕截图。
如果不在最终用户的机器上安装一些东西,我该怎么做?javascript是否有某种屏幕帽api?
我想在我们的一个网站上添加一个按钮,允许用户使用我们的错误跟踪系统提交错误。
其中一项功能要求是发送相关页面的屏幕截图。
如果不在最终用户的机器上安装一些东西,我该怎么做?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)
不,javascript 没有这样的东西。
恐怕这会很困难。如果不安装在用户计算机上,我想不出任何可以做到这一点的东西。
我想被证明是错误的,但至少这是你的答案。
尽可能多地获取有关使用 jQuery 的用户环境的信息。(jQuery.support)/用户代理/cookies/表单输入值,url(用于获取参数并知道哪个页面有错误)
发送 Moff 提到的页面来源。尝试像现在一样序列化 DOM,以便您可以比较与原始页面的不同之处。
如果您出于历史目的需要保留页面的来源,发送它也很有用,因为当您更新页面时,它会变得不同。
我建议与FireShot进行某种集成,这是一个免费的 Firefox/IE 插件。
我同意其他答案 - 没有骰子。
但是,有一个 firefox 插件,Pearl Crescent Page Saver,可能值得研究相关任务。
看看pagecrop(用jQuery + jCrop插件实现)
我一定是错过了什么,但你不能...
按键盘上的 PrtScr 并粘贴到电子邮件中。
看到这个问题。基本上,不,不是用javascript。也许使用 ActiveX,但这又回到了在客户的 PC 上安装东西的问题。
考虑编写一个完全重复用户请求的服务器端脚本(假设它不是在 POST 之后)并存储生成的 html 文件。
您可能会考虑使用基于 Web 的解决方案,例如Super Screenshot 提供的解决方案!或WebShotsPro.com。根据您的需求,例如页面特定区域的屏幕截图,或外部世界无法访问的页面,它可能不适合您,但这是一个想法。
你还可以看看 Evernote 是如何进行屏幕捕捉的,也许你可以与之相关或创建自己的 chrome 扩展。https://chrome.google.com/webstore/detail/evernote-web-clipper/pioclpoplcdbaefihamjohnefbikjilc?hl=en