1

これは実際の2%ですが、ここでは、VS2010でGecko 2.0.1-0.10(最新リリース)のWebブラウザーコントロールを使用してWinFormを作成し、タッチスクリーンを使用してナビゲートしています。ハイパーリンクをクリックすると、ナビゲートではなくテキストが選択されることがあります。DomMouseUpイベントで、選択されたテキストがあるかどうかを確認します。選択されている場合は、ハイパーリンクであるかどうか、ハイパーリンクがある場合は、そのハイパーリンクがどこに移動するかを確認します。 。私はGeckoSelectionをいじりましたが、何も明白に見えませんでした。Webブラウザ内で選択されているものがハイパーリンクであるかどうかを確認する方法を探しています。何か考えはありますか?

4

3 に答える 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 に答える