代码之家  ›  专栏  ›  技术社区  ›  Tyler

“Http通道实现不支持nsIUploadChannel2。扩展提供了一个不起作用的http协议处理程序“

  •  2
  • Tyler  · 技术社区  · 15 年前

    我正在编写一个Firefox扩展,它使用大量XMLHttpRequests,遵循 the sample code at MDC . 大多数情况下,这种方法都能很好地工作,但有些请求会导致控制台中出现以下消息:

    Http通道实现不支持nsIUploadChannel2。扩展提供了一个不起作用的lhttp协议处理程序。这将破坏行为,在将来的版本中根本不起作用。

    据我所知,我的扩展没有提供任何新的http协议处理程序;它只是使用Firefox内置的东西。它不是另一个扩展,因为我尝试禁用所有其他扩展,得到了相同的结果。我也没有看到任何特定的模式来解释为什么我在某些请求中收到这个消息,而在其他请求中没有。

    编辑: 当我发送两个xmlhttprequest时,一个接一个地发送,这种情况似乎经常发生。我提起这个是因为我碰巧遇到 this page about how the browser will only send two requests at once, and will queue up any others internally . 所以可能与此有关,但我不知道。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Nickolay    14 年前

    作为一个竞争者重新上市:

    事实证明,发生这种情况是因为我试图使用XMLHttpRequest获取一个页面的源代码,以查看源代码:URL( bugzilla bug ).

    正如Bugzilla上的某个人善意地指出的那样,这有点毫无意义。我现在用的是 this technique 这实际上是在做我想做的——从缓存中获取源代码,而不发出新的HTTP请求。