【问题标题】:cross browser solution for listening to requests and capturing screenshots用于侦听请求和捕获屏幕截图的跨浏览器解决方案
【发布时间】:2011-06-22 20:36:07
【问题描述】:

我需要创建一个插件/扩展/bookmarklet/greasemonkey 脚本,允许用户捕获任意请求并将它们发送回带有一些标签的 Web 服务。例如,用户将进入一个页面并单击“捕获”,他们将看到一个对话框,要求他们提供一些标签和/或描述,然后将当前窗口位置发送到 Web 服务。关键是:

  1. 用户还应该能够查看异步请求并像捕获窗口位置一样“捕获”它们

  2. 用户应该能够截取当前页面的屏幕截图并通过网络服务发回

鉴于这最后两个复杂性,我倾向于使用浏览器插件作为解决方案(可能是 firefox,因为低级 http 的东西似乎比 chrome 更受支持),但我想知道是否有人有更多的想法跨浏览器的解决方案,或者如果有什么东西可以为这种事情提供一个好的 API。

【问题讨论】:

    标签: browser cross-browser greasemonkey bookmarklet


    【解决方案1】:

    不会有允许捕获所有请求的跨浏览器解决方案。对于 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 中做同样的事情。

    【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2021-11-09
    • 1970-01-01
    • 2015-06-14
    • 2016-03-31
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多