Страницы: 1
Подскажите, возможно ли из XPCOM-плугина добраться до nsIWebNavigation?
Везде куча примеров для Embedding Gecko на с++, но как быть если у тебя плагин?
На JavaScript все просто.. а на С++ (не Embedding) ни одного примера!
Не получается сделать по сути простейщее действие - хочется обновить страницу (вызвать метод reload из nsIWebNavigation) при определенных условиях.
Помогите кто чем может, :beer:
Спасибо за комментарий, решил делать по другому, на форме создал кнопку и прописал в событии onClick вызов своей функции, которую разместил в js.
Более подробно в этой теме: http://forum.mozilla-russia.org/viewtopic.php?id=24677
Возможно ли средствами XPCOM или JavaScript подписаться на событие нажатия кнопки?
После загрузки страницы, к ней можно получить доступ через объектную модель. Позволяет ли эта модель делать вот такие вещи? (Далее пример из Internet Explorer)
CComQIPtr<IHTMLDocument3> spDoc3; CComPtr<IHTMLElement> pButton; spDoc3->getElementById ( CComBSTR(_T("здесь id кнопки") ), &pButton ); pButton->onclick = НАШ_ОБРАБОТЧИК
НАШ_ОБРАБОТЧИК хочется размещать внутри XPCOM или JavaScript.
Сейчас у меня сделано следующим образом:
HTML
<HTML> <SCRIPT SRC="test.js"></SCRIPT> <BODY> <input type="text" id="input_txt" value=""> <input type="button" value="Submit" onclick="CheckVal();"> </BODY> </HTML>
JS
[code]function CheckVal() {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const cid = "@бла-бла-бла/бла;1";
obj = Components.classes[cid].createInstance();
obj = obj.QueryInterface(Components.interfaces.IMyCom);
} catch (err) {
alert(err)
Приветсвую!
Пишу плугин на XPCom (С++), задача следующая:
Есть html-страничка примерно такая:
<form action="http://site.ru/" method="post">
<input type="text" name="value" value=""/>
<input type="submit" value="Submit" />
</form>
Нужно отловить момент когда происходит заполнение post-запроса и попытка его отправки на сервер.
Мне нужно прочитать передаваемые значения и в зависимости от их содержимого либо разрешить отправку, либо остановить редирект не обновляя страницу.
Посоветуйте в каком интерфейсе это можно сделать?
Смотрел исходники firefox и нашел что что-то похоже происходит в nsHttpChannel.cpp в функции [code]sHttpChannel::ProcessRedirection(PRUint32 redirectType){
.............................
// здесь какая-то подготовка к загрузке новой страницы
.............................
// call out to the event sink to notify it of this redirection.
if (mHttpEventSink) {
rv = mHttpEventSink->OnRedirect(this, newChannel);
if (NS_FAILED(rv)) return rv;
}
....
Страницы: 1