【发布时间】:2012-12-07 07:44:01
【问题描述】:
我已经在网络引擎中加载了本地 html 文件。我需要在网页视图页面中搜索并突出显示给定的字符串。
有什么办法吗?
【问题讨论】:
-
嗨,你知道怎么做吗?我也被它困住了......
-
检查this :)
-
您需要编写 Javascript 代码,您可以使用 Nashorn Api 调用 java。
我已经在网络引擎中加载了本地 html 文件。我需要在网页视图页面中搜索并突出显示给定的字符串。
有什么办法吗?
【问题讨论】:
如果您不介意使用反射,可以在 Java 代码中本地完成。
WebEngine 有一个 WebPage 类型的私有字段页面,它又具有这个方法,可以完全满足您的需求:
// Find in page
public boolean find(String stringToFind, boolean forward, boolean wrap, boolean matchCase) {
// ...
}
所以要访问这个 find() 方法,你必须这样做:
WebView webView = new WebView();
WebEngine engine = webView.getEngine();
try {
Field pageField = engine.getClass().getDeclaredField("page");
pageField.setAccessible(true);
WebPage page = (com.sun.webkit.WebPage) pageField.get(engine);
page.find("query", true, true, false);
} catch(Exception e) { /* log error could not access page */ }
【讨论】: