我正在实现一个基于Geckofx的自定义浏览器,我想添加一个搜索引擎,您可以在其中键入任何单词并搜索文档中的巧合,类似于Ctrl + F
在geckofx中有没有办法做到这一点?
答案 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时写的那样总是如此,但是如果需要的话,原始代码可以将它们修改为完美。