JavaFX - WebView:防止弹出窗口或在新 window 中打开

JavaFX - WebView: Prevent Popups or open in new window

我有一个网站,这里我显示一个<iframe>带视频播放器。

这些视频已上传到 Powvideo。 Powvideo 在播放器中放置了一些带有广告的弹出窗口。

现在我正在开发桌面应用程序。我使用 JavaFX 加载我网站的 url。

问题是,当尝试查看某些视频时,此弹出窗口在同一页面打开,因此用户无法查看任何内容。页面重定向到广告 windows.

我的代码:

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javafx.scene.image.Image;

public class Main extends Application {

  VBox vb = new VBox();

  public static void main(String[] args) {
    Application.launch(args);
  }

  @Override
  public void start(Stage stage) {

    vb.setId("root");

    WebView  browser = new WebView();
    WebEngine engine = browser.getEngine();

    String url = "http://xxx.xxxxx.net/";
    engine.load(url);

    vb.setAlignment(Pos.CENTER);
    vb.getChildren().addAll(browser);

    Scene scene = new Scene(vb, 1024, 600);

    stage.setTitle("Series EnLatino");
    stage.setScene(scene);
    stage.show(); 

    stage.getIcons().add(new Image("iconoAplicacionWindows.png"));

    }
}

这是对播放器的测试,还有这些丑陋的广告http://powvideo.net/embed-d45fwobyzyup.html

当您播放 视频或单击播放器的任意位置时,弹出窗口会打开。 在 Webaplication 中,此 popads 在相同的 windows.

中打开

如何预防?或者如何使弹出窗口在 webapp 下打开?。 这可能吗?

谢谢。

您可以尝试提供自己的 Web 引擎 "popup" 或 "alert" 处理程序,然后默默地忽略这些请求..

https://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html#setOnAlert(javafx.event.EventHandler)