Xpoint
   [напомнить пароль]

nsIContentHandler для стандартного text/xml

Метки: [без меток]
2007-06-08 21:52:59 [обр] KML[досье]
Нужно перехватывать файлы с определённым типом контента. Например XML. После чего содержимое файла сливать на сервер.
Т.е. по умолчанию FF открывает диалоговое окно и предлагает сохранить файл, а мне нужно перехватить этот момент.
Как я понял, nsIContentHandler должен был мне помочь в этом деле. Но я никак не могу понять, как мне переопределить стандартный хэндлер @mozilla.org/uriloader/content-handler;1?type=text/xml. В гугле нашел примеры для перехвата собственного (не стандартного) контента, а для переопределения существующего - ничего. :-(
спустя 19 дней [обр] KML[досье]
Проблема разрешилась при помощи nsIURIContentListener и обсервера на http-on-modify-request.
Единственная проблемка осталась в методе doContent. Я перехватил контент, проанализировал его и спрашиваю у пользователя хочет ли он чтобы обработкой занялось мое расширение или нет. Если он отказывается, то я хотел бы, чтобы обработкой контента занялся Firefox. Это удалось сделать добавив строку throw "bla-bla-bla", но мне кажется, что должен быть более цивилизованный способ (return false ничего не дал).
спустя 1 час 11 минут [обр] Владимир Палант(434/4445)[досье]
Судя по исходным текстам, именно исключение вы и должны вернуть. Все остальное интерпретируется так, что обрабатываете запрос вы — просто в одном случае вы делаете все сами, а в другом устанавливаете contentHandler, который должен этим заниматься. Другое дело, что можно сделать что-то типа throw Components.results.NS_ERROR_NOT_IMPLEMENTED, но это уже детали.
Powered by POEM™ Engine Copyright © 2002-2005