URL-адрес доступа из веб-браузера Microsoft управления в MFC VC ++ - PullRequest
0 голосов
/ 20 октября 2011

Я использую веб-браузер Microsoft в приложении MFC.

Отображает страницу входа, изначально используя

метод control.navigate (URL)

После входа мне нужно получить доступ к URL из элемента управления.

Как это можно сделать?

Кто-нибудь может мне помочь

Ответы [ 3 ]

1 голос
/ 20 октября 2011

Элемент управления WebBrowser имеет событие OnBeforeNavigate2, которое срабатывает перед переключением страниц. Обработчик событий получает новый посещенный URL.

Если вы используете CDHTMLView, вам даже не нужно добавлять обработчик событий: просто переопределите виртуальный OnBeforeNavigate2 () .

1 голос
/ 21 октября 2011

URL отправляется вам в событии DocumentComplete .Проверьте MFCIE образец , образец обрабатывает событие для обновления своей адресной строки.

Обратите внимание, что URL может отличаться от того, который вы передали в Navigate или получили от OnBeforeNavigate2.Например, если вы передадите microsoft.com в Navigate2, вы вернетесь на сайт www.microsoft.com из-за перенаправлений на стороне сервера.

0 голосов
/ 20 октября 2011

В MSDN есть раздел " Использование MFC для размещения элемента управления WebBrowser ". Там упоминается следующее:

//CWebBrowser2 m_browser - to access the WebBrowser control  

CString string1, string2;

string1 = m_browser.GetLocationName(); // gets the page title
string2 = m_browser.GetLocationURL();  // gets the page URL

Что касается , когда вы пытаетесь получить эту информацию, вы можете проверить m_browser.Busy(...) или m_browser.ReadyState(...), чтобы увидеть, происходит ли какая-либо навигация / загрузка в данный момент.

Признаюсь, что никогда не использовал сам элемент управления, поэтому не знаю, существует ли простой способ получить обратный вызов, сообщающий, что URL-адрес изменился, но приведенная выше ссылка должна предоставить вам большую часть необходимой информации. Надеюсь:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...