Страницы: 1
Привет всем.
Имеется http listener с использованием nsIObserverService и http-on-modify-request. Как можно определить что request относится к пользовательскому запросу, т.е. тому который в строке адреса, а не для рисунков, стилей, скриптов и тд?
Спасибо.
Отсутствует
Отсутствует
не решение. для внутренних ссылок такой же результат, как и для главной.
Отсутствует
Он будет пустой, если руками вбивать. Если же по ссылке переходить, то нет, а топикстартер такие запросы вроде тоже хочет отлавливать.
Мне кажется, что в приведенном примере вот такая величина должна иметь разное значение для «пользовательских запросов» и всего остального:
Отредактировано luitzen (18-08-2011 03:51:40)
Отсутствует
не решение. для внутренних ссылок такой же результат, как и для главной
А если сравнивать contentDocument.URL browser'а, полученного в результате примера по моей ссылке, с nsIChannel.URI.spec?
Добавлено 18-08-2011 05:03:38
Если же по ссылке переходить, то нет, а топикстартер такие запросы вроде тоже хочет отлавливать.
В таком случае, по-моему, лучше будет проверять флаг LOAD_INITIAL_DOCUMENT_URI.
Отредактировано hydrolizer (18-08-2011 05:03:38)
Отсутствует
попробуй смотреть referrer
реферер может быть пустой, если руками вбивать, и может быть указан для внутренних ссылок. для скриптов в частности.
А если сравнивать contentDocument.URL browser'а, полученного в результате примера по моей ссылке, с nsIChannel.URI.spec?
нельзя, когда запрос приходит в listener, в броузере еще может быть about:blank
subject.loadFlags & Components.interfaces.nsIChannel.LOAD_DOCUMENT_URI
а вот это похоже то что нужно, только действительно как было предложено лучше использовать LOAD_INITIAL_DOCUMENT_URI. LOAD_DOCUMENT_URI похоже пропускает ajax запросы.
Спасибо за помощь.
Отсутствует
кстати тут же еще один вопрос появился. в компоненте listener-a не могу обращаться к настройкам плагина.
получаю Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getCharPref]
в чем тут может быть проблема?
Отсутствует
logik
Какой длины строка настройки? Эта строка содержит юникод? В общем случае - попробуйте стринговую настройку получать через nsIPrefBranch.getComplexValue(имя_настройки, Ci.nsISupportsString).data.
Отсутствует
logikКакой длины строка настройки? Эта строка содержит юникод? В общем случае - попробуйте стринговую настройку получать через nsIPrefBranch.getComplexValue(имя_настройки, Ci.nsISupportsString).data.
не в длине дело, из оверлея все нормально читается. создал тестовую настройку с коротким именем и значением из цифр. возможно тут пермишены какие-то дополнительно нужно указать.
Отсутствует
разобрался. почему-то решил что настройки из компонента нужно получать добавляя extensions. вместе с именем. где-то в примере видел.
.getBranch("extensions.myextension.");
когда убрал extensions. нормально отработало.
Отсутствует
Страницы: 1