これは実際の2%ですが、ここでは、VS2010でGecko 2.0.1-0.10(最新リリース)のWebブラウザーコントロールを使用してWinFormを作成し、タッチスクリーンを使用してナビゲートしています。ハイパーリンクをクリックすると、ナビゲートではなくテキストが選択されることがあります。DomMouseUpイベントで、選択されたテキストがあるかどうかを確認します。選択されている場合は、ハイパーリンクであるかどうか、ハイパーリンクがある場合は、そのハイパーリンクがどこに移動するかを確認します。 。私はGeckoSelectionをいじりましたが、何も明白に見えませんでした。Webブラウザ内で選択されているものがハイパーリンクであるかどうかを確認する方法を探しています。何か考えはありますか?
2621 次
3 に答える
2
私はそれを解決しました:そのようなことに興味がある人のために、geckoコントロールでDomFocusを使用してください:
m_strInnerHtml = geckSel.ActiveElement.Parent.InnerHtml.ToString();
これにより、選択したアイテムのinnerhtmlが得られます。ここから、hrefタグを抽出して、URLを取得し、そこに移動できます。
于 2012-01-16T11:09:10.047 に答える
0
更新:さらに良い解決策は、(DomFocusで)を使用することです
m_strInnerHtml = geckoWebBrowser.Document.ActiveElement.GetAttribute("href");
これにより実際のハイパーリンクアドレスが返されますが、注意すべき点の1つは、たとえばGoogleを使用していて、ページの下部にある[Advertising]ハイパーリンクを選択すると、「/adsvertisingpage/」が返される場合があります。これを追加する必要があります。元のURLに。ただし、グーグルから離れたハイパーリンクをクリックすると、完全なアドレスが返されます。
于 2012-01-16T15:33:35.513 に答える
0
非常に良い動作でこの呼び出しが行われます:m_strInnerHtml = geckoWebBrowser1.Url.AbsoluteUri()
于 2014-12-04T09:55:25.137 に答える