«Реализация канала Http не поддерживает nsIUploadChannel2. Расширение предоставило нефункциональный обработчик протокола http» - PullRequest
2 голосов
/ 28 августа 2010

Я пишу расширение Firefox, которое использует множество XMLHttpRequests, следуя шаблону примера кода в MDC .В большинстве случаев это работает идеально, но некоторые запросы вызывают появление в консоли следующего сообщения:

Реализация канала Http не поддерживает nsIUploadChannel2.Расширение предоставило нефункциональный обработчик протокола HTTP.Это нарушит поведение и в будущих выпусках не будет работать вообще.

Насколько я могу судить, мое расширение не предоставляет никакого нового обработчика протокола http;он просто использует то, что встроено в Firefox.Это не другое расширение, потому что я попытался отключить все другие расширения и получил тот же результат.Я также не вижу какого-либо конкретного шаблона, почему я получаю это сообщение для некоторых запросов, но не для других.

Что означает это сообщение и что, если что-то я делаю неправильно?

Редактировать: Такое часто случается, когда я отправляю два запроса XmlHttpRequest, один за другим.Я поднял этот вопрос, потому что только что наткнулся на эту страницу о том, как браузер будет отправлять только два запроса одновременно и помещать в очередь все остальные внутри .Так что это может быть связано с этим, но я не знаю.

1 Ответ

0 голосов
/ 09 января 2011

Репост как ответ:

оказалось, что это происходит, потому что я пытался получить исходный код страницы с помощью XMLHttpRequest для URL-адреса view-source: URL ( bugzilla bug ).

Как кто-то на Bugzilla любезно указал, это отчасти бессмысленно. Сейчас я использую эту технику , которая на самом деле делает то, что я намеревался - получать исходный код из кэша без создания нового HTTP-запроса.

...