【问题标题】:Is there any reliable way to capture file upload event in a chrome extension?是否有任何可靠的方法可以在 chrome 扩展中捕获文件上传事件?
【发布时间】:2020-12-19 11:16:33
【问题描述】:

在我的内容脚本中,我想监控正在上传到 Web 应用程序的文件。

我监控任何“input:file”元素的“change”事件。它适用于使用“input:file”的任何网站(例如 Gmail)。

但是像 imgur 这样的网站使用 SWFUpload 机制。我试图在我怀疑是 swfupload 的元素上捕获“fileQueued”事件。但这没有用。

  • 如何为使用 swfupload 的网站捕获文件上传事件?
  • 是否还有其他插件可以管理文件上传,我需要在我的内容脚本中注意这些插件?
  • 是否有任何通用机制来解决这个问题?

(我知道拖放机制,但到目前为止我还没有处理过这种情况。 我还阅读了关于 SO 的以下相关问题:

Grab file with chrome extension before upload)

【问题讨论】:

  • 常见的文件上传方法有拖放/文件 api (html5)、后台 iframe、flash 上传器、silverlight 上传器。您可能无法检测最后三个。

标签: google-chrome-extension


【解决方案1】:

可能值得您花时间试验chrome.webRequest API;似乎 onBeforeRequest 事件包含有关文件上传的信息。这是一个复杂的 API,带有额外的参数到 addListener;仔细阅读文档。

【讨论】:

  • 除了不包括来自Flash等插件的请求。
  • 我认为这是一个错误 - Firefox 允许其扩展拦截源自插件的 Web 请求,我不明白为什么 Chrome 也不能。 Chromium 错误跟踪器上是否有关于此的任何信息?
猜你喜欢
  • 2016-01-09
  • 2014-12-22
  • 1970-01-01
  • 2011-07-30
  • 2018-09-17
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多