如何将搜索引擎添加到GeckoFx Web浏览器?

时间:2015-07-09 16:15:00

标签: c# winforms search-engine geckofx

我正在实现一个基于Geckofx的自定义浏览器,我想添加一个搜索引擎,您可以在其中键入任何单词并搜索文档中的巧合,类似于Ctrl + F

在geckofx中有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

编辑:这适用于GeckoFx 29,它在GeckoFx 45中不起作用

我知道一种方法并不完全令人满意 - 但也许这会给你一个启动信息......

private void Find(bool backward)
        {
            string searchString = FindOnPageBox.Text;
            var field = typeof(GWB).GetField("WebBrowser", BindingFlags.Instance | BindingFlags.NonPublic);
            nsIWebBrowser nsIWebBrowser = (nsIWebBrowser)field.GetValue(TheBrowser);
            var browserFind = Xpcom.QueryInterface<nsIWebBrowserFind>(nsIWebBrowser);
            browserFind.SetSearchStringAttribute(searchString);
            browserFind.SetMatchCaseAttribute(YourProgramName.Settings.CaseSensitiveSearch);
            try
            {
                browserFind.SetWrapFindAttribute(true);
                browserFind.SetFindBackwardsAttribute(backward);
                browserFind.FindNext();
            }
            catch { }
        }

然后在btn点击中调用它......

private void findOnPage_Next_Button_Click(object sender, RoutedEventArgs e)
        {
            Find(false);
        }

答案 1 :(得分:0)

看看这篇文章:Find, HighLight, Scroll toText in Geckofx Web Page

与VB.net 2010一起编写。它也可以在Vb.net 2017中使用。

当前,我正在Windows 10和最新的Geckofx60中使用,并且正在运行。完全不像我在使用XuLRunner时写的那样总是如此,但是如果需要的话,原始代码可以将它们修改为完美。