这是一个真正的 2%er,但在这里,我在 VS2010 中创建了一个带有 Gecko 2.0.1-0.10(最新版本)网络浏览器控件的 winform,我使用触摸屏进行导航。有时,当单击超链接时,它会选择文本而不是导航,在 DomMouseUp 事件上我想检查是否有选定的文本,如果有,我想看看它是否是超链接,如果是,超链接的位置. 我对 GeckoSelection 搞得一团糟,但看起来没有什么明显的。我正在寻找一种方法来查看在网络浏览器中选择的内容是否是超链接,有什么想法吗?
2621 次
3 回答
2
我已经解决了:对于任何对此类事情感兴趣的人,请在壁虎控件上使用 DomFocus:
m_strInnerHtml = geckSel.ActiveElement.Parent.InnerHtml.ToString();
这将为您提供所选项目的innerhtml,您可以从这里提取href标签并获取url,导航到它,嘿presto :)
于 2012-01-16T11:09:10.047 回答
0
非常好的行为给出了这个调用:m_strInnerHtml = geckoWebBrowser1.Url.AbsoluteUri()
于 2014-12-04T09:55:25.137 回答
0
更新:更好的解决方案是使用(再次在 DomFocus 中)
m_strInnerHtml = geckoWebBrowser.Document.ActiveElement.GetAttribute("href");
这将返回实际的超链接地址,但要注意的一件事是,例如,如果您在 google 上并选择页面底部的“广告”超链接,它可能会返回必须附加的“/advertisingpage/”到原始网址。但是,单击远离 google 的超链接将返回完整地址。
于 2012-01-16T15:33:35.513 回答