我想在我们的某个网站上添加一个按钮,允许用户通过我们的错误跟踪系统提交错误。
其中一项功能请求是发送相关网页的屏幕上限。
如果没有在最终用户计算机上安装,我该怎么办? javascript是否有某种屏幕上限api?
答案 0 :(得分:14)
您可以抓取页面的innerHTML
,然后在服务器上处理它:
document.getElementsByTagName('html')[0].innerHTML;
// this would also be interactive (i.e. if you've
// modified the DOM, that would be included)
答案 1 :(得分:6)
不,javascript没有这样的内容。
我担心这会很难。如果不在用户计算机上安装,我无法想到任何可以做到的事情。
我想被证明是错的,但至少这对你来说是一个答案。
答案 2 :(得分:6)
使用jQuery获取尽可能多的关于用户环境的信息。 (jQuery.support)/ user agent / cookies / form输入值,url(用于获取参数并知道哪个页面有错误)
发送Moff提到的页面来源。 尝试按原样序列化DOM,以便比较与原始页面不同的内容。
如果您需要将其保留用于历史目的,则发送页面源也很有用,因为当您更新页面时,它将变得不同。
答案 3 :(得分:4)
我建议与 FireShot 进行某种集成,这是一个免费的Firefox / IE插件。
答案 4 :(得分:3)
我同意其他答案 - 没有骰子。
但是,有一个firefox插件,Pearl Crescent Page Saver,可能值得研究相关任务。
答案 5 :(得分:3)
看一下pagecrop(用jQuery + jCrop插件实现)
答案 6 :(得分:3)
我一定错过了什么,但你不能只是......
按键盘上的PrtScr并粘贴到电子邮件中。
答案 7 :(得分:2)
见this question。基本上,不,不是用JavaScript。也许使用ActiveX,但这又回到了在客户端PC上安装的东西。
考虑编写一个服务器端脚本,完全重复用户的请求(假设它不是在POST之后)并存储生成的html文件。
答案 8 :(得分:1)
您可以考虑使用基于网络的解决方案,例如Super Screenshot!或WebShotsPro.com提供的解决方案。根据您的需要,例如页面特定区域的屏幕截图或外部世界无法访问的页面,它可能对您不起作用,但这是一个想法。
答案 9 :(得分:1)
答案 10 :(得分:0)
您还可以查看Evernote如何进行屏幕捕获,也许您可以配合它或创建自己的Chrome扩展程序。 https://chrome.google.com/webstore/detail/evernote-web-clipper/pioclpoplcdbaefihamjohnefbikjilc?hl=en