Gecko WebBrowser, получая URL-адрес из выбранной гиперссылки - PullRequest
1 голос
/ 13 января 2012

Это на самом деле 2%, но здесь я создаю winform в VS2010 с веб-браузером Gecko 2.0.1-0.10 (последняя версия), я использую сенсорный экран для навигации.Иногда, щелкая гиперссылку, он выбирает текст, а не перемещается, в событии DomMouseUp я хочу проверить, есть ли выделенный текст, если да, я хочу посмотреть, является ли это гиперссылкой, и если это так, куда эта гиперссылка переходит,У меня был беспорядок с GeckoSelection, но ничего не выглядело очевидным.Я ищу способ проверить, является ли выбранная в веб-браузере гиперссылка, какие-либо мысли?

Ответы [ 3 ]

2 голосов
/ 16 января 2012

Я решил: для всех, кто интересуется такими вещами, используйте DomFocus на элементе управления gecko:

m_strInnerHtml = geckSel.ActiveElement.Parent.InnerHtml.ToString();

Это даст вам innerhtml выбранного элемента, отсюда вы можете извлечьhref tag и получите URL, перейдите к нему, эй presto:)

0 голосов
/ 04 декабря 2014

Очень хорошее поведение дает, позвонив ниже

m_strInnerHtml = geckoWebBrowser1.Url.AbsoluteUri()
0 голосов
/ 16 января 2012

Обновление: еще лучшее решение - использовать (снова в DomFocus)

m_strInnerHtml = geckoWebBrowser.Document.ActiveElement.GetAttribute("href");

Это вернет фактический адрес гиперссылки, однако следует обратить внимание на то, что если вы, например, находитесь на Google и выбираете гиперссылку «Реклама» внизу страницы, она может вернуть «/ advertisingpage /», что должен быть добавлен к исходному URL. Однако, нажав гиперссылку на Google, вы получите полный адрес.

...