【问题标题】:How to add search engine to GeckoFx web browser?如何将搜索引擎添加到 GeckoFx 网络浏览器?
【发布时间】:2020-01-06 14:51:59
【问题描述】:

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

geckofx 中是否已经有办法做到这一点?

【问题讨论】:

    标签: c# winforms search-engine geckofx


    【解决方案1】:

    编辑:这在 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);
            }
    

    【讨论】:

      【解决方案2】:

      看看这个帖子:Find, HighLight, Scroll toText in Geckofx Web Page

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

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

      【讨论】:

        猜你喜欢
        • 2013-04-19
        • 1970-01-01
        • 2021-10-21
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多