>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Отловить событие при попытке редиректа на XPCom http://forum.mozilla-russia.org/viewtopic.php?id=24606 |
netz > 03-07-2008 04:23:51 |
Приветсвую! Пишу плугин на XPCom (С++), задача следующая: <form action="http://site.ru/" method="post"> Нужно отловить момент когда происходит заполнение post-запроса и попытка его отправки на сервер. Посоветуйте в каком интерфейсе это можно сделать? Выделить код Код: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; } .................................... // если дошли до сюда, то грузим редирект-страницу .................................... } Вопрос в следующем: можно ли сделать то что мне нужно подписавшись на nsIHttpEventSink:onRedirect (см. nsIHttpEventSink.idl)? Может быть есть способы попроще? |
Anton > 03-07-2008 15:30:41 |
Можно подписать observer на http-on-examine-response и у него в subject будет объект с интерфейсом nsIHttpChannel. Что касается nsIHttpEventSink - вот здесь: http://www.xulplanet.com/references/xpcomref/ifaces/nsIHttpEventSink.html написано, что надо реализовывать объект с этим интерфейсом. А потом он назначается в channel.notificationsCallback или аргументом в asyncOpen (в js). |
netz > 05-07-2008 01:24:13 |
Спасибо за комментарий, решил делать по другому, на форме создал кнопку и прописал в событии onClick вызов своей функции, которую разместил в js. |