文档



JavaFX:向JavaFX应用程序添加HTML内容

7 管理Web弹出窗口

本章介绍如何使用WebView组件来处理浏览器中的弹出窗口,并在WebViewSample应用程序中实现此功能。

当您需要在应用程序中打开一个新的浏览器窗口时,可以通过使用setCreatePopupHandler方法将PopupFeatures类的实例传递给在WebEngine对象上注册的弹出窗口处理程序。

7 管理Web弹出窗口(发布8)

示例 7-1 处理弹出窗口的命令

final WebView smallView = new WebView();
smallView.setPrefSize(120, 80);
//处理弹出窗口
webEngine.setCreatePopupHandler(
(PopupFeatures config) -> {
smallView.setFontScale(0.8);
if (!toolBar.getChildren().contains(smallView)) {
toolBar.getChildren().add(smallView);
}
return smallView.getEngine();
});

当用户从弹出菜单中选择在新窗口中打开链接选项时,smallView浏览器将添加到应用程序工具栏中。这个行为由setCreatePopupHandler方法定义,该方法返回一个替代浏览器的Web引擎,以通知应用程序在哪里渲染目标页面。修改应用程序并编译运行的结果如图7-2所示。

图7-2 小型预览浏览器

图7-2的描述
图7-2的描述

请注意,默认情况下,所有WebView对象都启用上下文菜单。要为特定的WebView实例禁用上下文菜单,请将false值传递给setContextMenuEnabled方法:browser.setContextMenuEnabled(false);

关闭窗口

目录

JavaFX: 向JavaFX应用程序添加HTML内容

展开 折叠