如何在GeckoFx浏览器中添加搜索引擎

本文关键字:添加 搜索引擎 浏览器 GeckoFx | 更新日期: 2023-09-27 18:01:48

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

在geckofx中是否已经有这样做的方法?

如何在GeckoFx浏览器中添加搜索引擎

编辑:这适用于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);
        }

看看这篇文章:查找,高亮显示,滚动到Geckofx网页的文本

用VB.net 2010编写。它也适用于Vb.net 2017。

目前我正在使用Windows 10和最新的Geckofx60,并且正在工作。当我使用XuLRunner时,并不总是像我写的那样完美,但是如果需要的话,原始代码是他们可以修改的。