2009-11-08 2 views
17

Как я могу изменить тело ответа HTTP в расширении Firefox? У меня настроен наблюдатель-наблюдатель-ответчик-ответ и объект nsIStreamListener с приведенным ниже кодом. После того, как я получу данные, проанализирую их и изменил, как я могу отбросить измененный ответ обратно в браузер Firefox? Например, допустим, я перехожу на Google.com с включенным расширением, расширение должно перехватить ответ и изменить каждое появление «google» на «goggle». Поэтому, когда страница загружается, пользователь будет видеть «очки» повсюду.Изменение HTTP-ответов в расширении Firefox

ответ

11

Вы можете использовать nsITraceableChannel для перехвата ответа.

Вы должны изменить данные, которые доступны на то, что вам нужно, и передать его в innerListener в OnDataAvailable

Ниже ссылки помогут вам понять это лучше.

http://www.softwareishard.com/blog/firebug/nsitraceablechannel-intercept-http-traffic/

http://www.ashita.org/howto-xhr-listening-by-a-firefox-addon/

0

Услуга наблюдатель просто позвонить своим слушателям. Firefox получит запросы, вызовет ваших слушателей и отправит ответы. см. документы Mozilla Creating HTTP POSTs.