2011-06-22 26 views
2

我需要创建一个插件/扩展程序/ bookmarklet/greasemonkey脚本,允许用户捕获任意请求并将它们发送回带有某些标记的Web服务。例如,用户可以进入一个页面并单击“捕获”,然后会显示一个对话框,询问他们是否有一些标签和/或描述,然后将当前窗口位置发送到Web服务。这里的渔获:跨浏览器解决方案,用于侦听请求并捕获屏幕截图

  1. 用户也应该能够查看异步请求和“捕捉”他们,他们可以捕获的窗口位置

  2. 同样的方式,用户应该能够捕捉到的截图他们的当前页面,并发送回通过Web服务

考虑到这些最后两个并发症我向一个浏览器插件的解决方案(可能是Firefox的倾斜,因为低层次的HTTP的东西似乎比更好的支持铬),但我a m想知道是否有人有更多的跨浏览器的解决方案的想法,或者如果有东西可以为这种事情提供一个好的API。

回答

2

将不会有一个跨浏览器的解决方案,允许捕获所有请求。对于Firefox,您将实施nsIContentPolicy interface并在content-policy类别中注册您的组件。对于Chrome,你需要experimental webRequest API(WebKit浏览器中的beforeload事件会做同样的事情,但它不会捕获所有内容,它也有severe side-effects)。

至于网页截图,这可以在Firefox扩展中使用HTML <canvas>标签并调用drawWindow method。然后您可以通过canvas.toDataURL()导出数据。 我不知道任何WebKit浏览器的替代品。chrome.tabs.captureVisibleTab()允许在Chrome中执行相同的操作。

+1

我发现这个http://code.google.com/chrome/extensions/tabs.html#method-captureVisibleTab方法,它可以提供对屏幕截图的支持。 – Bacon

+0

你是对的,我编辑了我的答案以反映这种可能性。 –

相关问题