Как использовать событие OnNewWindow2
От: Тимофей Чадов Россия RSDN.ru
Дата: 22.09.02 07:44
Оценка: 3 (1)
Статья:
Как использовать событие OnNewWindow2
Автор(ы): Тимофей Чадов
Дата: 10.09.2001


Авторы:
Тимофей Чадов

Аннотация:
Это событие возникает, когда WebBrowser пытается открыть страницу в новом окне. Например, это может случится, если пользователь выбрал команду Открыть в новом окне (щелкнул по ссылке с нажатой клавишей Shift) или в результате выполнения скрипта window.open .., и т.п. Понятно, что такое поведение броузера не всегда нас устраивает. Пользователь наверняка будет в недоумении, если вместо вашей программы откроется окно IE. Эту проблему можно решить, переопределив реакцию на событие NewWindow2.
--
Как мы живем государственная тайна, на что — коммерческая, с кем — личная.
CTRL+N
От: server_mouse Беларусь  
Дата: 23.09.02 07:44
Оценка:
А как же быть с сабжем? Ведь он-то работает...
Если человек программист, то это надолго.
Re: Как использовать событие OnNewWindow2
От: SVV Беларусь  
Дата: 10.03.04 09:33
Оценка:
Здравствуйте, Тимофей Чадов, Вы писали:

...

В статье написано как блокировать открытие нового окна или открыть страницу в новом экземпляре своего приложения. мне нужно открыть ссылку в том же экземпляре свего приложения. Как это сделать?

Пробовал так:
HRESULT    CHandleWB2Events::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid,
    WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult,
    EXCEPINFO * pExcepInfo, UINT * puArgErr)
{
  HRESULT hr;
...
  case DISPID_NEWWINDOW2:
  if (pDispParams)
    hr = m_pIWebBrowser2->get_Application (pDispParams->rgvarg[1].ppdispVal);
...
}

при этом hr = 0, но страница вообще нигде не открывается
Re: Как использовать событие OnNewWindow2
От: EdBond Украина http://edbond.name
Дата: 10.03.04 15:41
Оценка:
Здравствуйте, Тимофей Чадов, Вы писали:

ТЧ>Статья:



ТЧ>Авторы:

ТЧ> Тимофей Чадов

ТЧ>Аннотация:

ТЧ>Это событие возникает, когда WebBrowser пытается открыть страницу в новом окне. Например, это может случится, если пользователь выбрал команду Открыть в новом окне (щелкнул по ссылке с нажатой клавишей Shift) или в результате выполнения скрипта window.open .., и т.п. Понятно, что такое поведение броузера не всегда нас устраивает. Пользователь наверняка будет в недоумении, если вместо вашей программы откроется окно IE. Эту проблему можно решить, переопределив реакцию на событие NewWindow2.

а можно эту штуку без класов сделать.
Re[2]: Как использовать событие OnNewWindow2
От: SVV Беларусь  
Дата: 10.03.04 16:16
Оценка:
Здравствуйте, EdBond, Вы писали:

EB>а можно эту штуку без класов сделать.

см. сюда
Re: Как использовать событие OnNewWindow2
От: AndrewJD США  
Дата: 20.07.05 12:08
Оценка:
Здравствуйте, Тимофей Чадов, Вы писали:


ТЧ>Это событие возникает, когда WebBrowser пытается открыть страницу в новом окне. Например, это может случится, если пользователь выбрал команду Открыть в новом окне (щелкнул по ссылке с нажатой клавишей Shift) или в результате выполнения скрипта window.open .., и т.п. Понятно, что такое поведение броузера не всегда нас устраивает. Пользователь наверняка будет в недоумении, если вместо вашей программы откроется окно IE. Эту проблему можно решить, переопределив реакцию на событие NewWindow2.


А есть ли какая-либо возможность перехватить окна, открываемые с плмощью showModalDialog и showModelessDialog?
Эти функции не генерят NewWindow2
"For every complex problem, there is a solution that is simple, neat,
and wrong."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.