c# - 如何将搜索引擎添加到 GeckoFx 网络浏览器?

标签 c# winforms search-engine geckofx

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

在 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 { }
        }

然后在按钮点击时调用它...

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

关于c# - 如何将搜索引擎添加到 GeckoFx 网络浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322920/

相关文章:

c# - 在 Roslyn 分析器中查找字段和类型的有效可访问性

c# - 在文本框中捕获 ESC

c# - 获取显示器的纵横比

seo - 如何让内容相同但语言和顶级域名不同的网站被各大搜索引擎收录?

c# - C# 中的类设计 - DAL

c# - 如何获取列表中值的列总计 - 匿名类型的 double

c# - 如何将 windows.forms.keys 代码转换为整数

Python 查询处理和 bool 搜索

java - Lucene 搜索匹配短语中的任何单词

c# - 如何开始制作 C# RSS 阅读器?