Страницы: 1
Всем привет!
Вот ломаю голову над такой задачей: осуществил перехват about:neterror с помощью подмены файла neterror.xhtml (и еще двух для ошибок типа Untrusted connection) в соответствующих jar-файлах. Все вроде бы хорошо работает, не устраивает одно - не хватает прав для вызова функции через XPCOM, попытка установить права тоже ни к чему не приводят. В связи с этим у меня вопрос как сделать перехват по другому, например, через extension, или установить права.
Заранее спасибо.
Вероятно, contentDocument - это XBL-свойство sidebar. В таком случае я бы вызывал JavaScript из XPCOM. Для этого нужно реализоть на JS объект со всем необходимым функционалом и передать ссылку на него в XPCOM-компонент.
После вызова setCallback в компоненте можна запоминать и использовать интерфейс ICallbackObject.
Что-то у меня при вызове Java-функции из С++ происходит падение. Т.е я в setCallback запоминаю адрес объекта и затем делаю вызов object->getSidebarURL() - падение. Может быть у тебя есть какой-нибудь работающий пример (или кусок примера) ? Буду премного благодарен.
Попробуйте через QueryInterface попросить у sidebar один из этих интерфейсов.
Только в них есть свойство contentDocument.
Приветствую всех!
Попробовал запросить все три интерфейса для sidebar следующим образом (подставляя нужный интерфейс):
nsCOMPtr<nsIDOMHTMLObjectElement> htmlobj;
nsresult rv = sidebar->QueryInterface(NS_GET_IID(nsIDOMHTMLObjectElement), getter_AddRefs(htmlobj));
Во всех трех случаях получил NS_FAILED(rv).
Сам sidebar - это:
nsCOMPtr<nsIDOMElement> sidebar;
document->GetElementById( nsString(L"sidebar"), getter_AddRefs(sidebar));
Возможно, я что-то делаю не так, подскажите, pls., кто может.
…Добрый день, уважаемые специалисты!
Проблема в следующем. Пишу на С++ XPCOM, а точнее переписываю на плюсах скриптовый код для запуска sidebar-а. Все шло хорошо, пока я не наткнулся на следующий код:
например - if (sidebar.contentDocument.location.href != url)
sidebar - это nsCOMPtr<nsIDOMElement> sidebar; получается он так:
document->GetElementById( nsString(L"sidebar"), getter_AddRefs(sidebar))))
а что такое contentDocument (бывает еще contentWindow) ? Как его получить? Перерыл весь интернет, ничего толком не нашел.
Заранее спасибо.
Страницы: 1