Добрый день!

Пишу своё первое расширение. Задача отследить переход пользователя со страницы на страницу, анализируя передаваемые данные и страницу, с которой осуществляется переход. Сейчас у меня получилось создать расширение (в папке) и добавить обработчик с nsIWebProgressListener, взятый с http://developer.mozilla.org/en/docs/Code_snippets:Progress_Listeners . С помощью JavaScript Debugger успешно ставлю точки прерывания на своих функциях. Дальше тупик из множества путей.

Вопрос, как мне по передаваемым в обработчик данным nsIWebProgress aWebProgress и nsIRequest aRequest определить, какие же данные непосредственно привели к переходу (то есть POST содержимое запроса)? Или для этого надо использовать какой-нибудь другой интерфейс?

Выделить код

Код:

var partURI = aURI.spec.split("@");
    var machine = partURI[0].substring(9);
    var rest = partURI[1];
    var index = rest.indexOf("/");
    var domain = rest.substring(0, index);
    var path = rest.substring(index + 1);

взято отсюда

Сделать nsIRequest'у QI на nsIHttpChannel, а потом использовать http://pastebin.mozilla-russia.org/91291

Сделать nsIRequest'у QI на nsIHttpChannel, а потом использовать http://pastebin.mozilla-russia.org/91291

Спасибо, в итоге всё заработало!

Правда пришлось шаманить и стучать в бубен, выполняя разные подстановки констант и QI, CI.