我正在实现一个基于 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);
}
我是一名优秀的程序员,十分优秀!