Gecko WebBrowser,从选定的超链接中获取URL

时间:2012-01-13 14:55:00

标签: visual-studio-2010 dom geckofx

这是一个真正的2%呃,但是,我在VS2010中使用Gecko 2.0.1-0.10(最新版本)webbrowser控件创建了一个winform,我正在使用触摸屏进行导航。有时单击超链接时它将选择文本而不是导航,在DomMouseUp事件上我要检查是否有选定的文本,如果是这样我想查看它是否是超链接,如果是,是否超链接转到。我对GeckoSelection一团糟,但没有什么看起来很明显。我正在寻找一种方法来查看在Web浏览器中选择的内容是否是超链接,是否有任何想法?

3 个答案:

答案 0 :(得分:2)

我已经解决了:对于对此类事情感兴趣的人,请在壁虎控件上使用DomFocus:

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

这将为您提供所选项目的innerhtml,从这里您可以提取href标签并获取网址,导航到它,嘿presto:)

答案 1 :(得分:0)

更新:更好的解决方案是使用(再次使用DomFocus)

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

这将返回实际的超链接地址,有一点要注意,但是如果您在谷歌上例如并选择页面底部的“广告”超链接,它可能会返回“/ advertisingpage /”必须附加到原始网址。点击远离谷歌的超链接将返回完整的地址。

答案 2 :(得分:0)

通过调用下面的

来提供非常好的行为
m_strInnerHtml = geckoWebBrowser1.Url.AbsoluteUri()