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

时间:2015-05-06 12:05:40

标签: webview javafx-2

我有一个网站,我在这里展示了一个带视频播放器的<iframe>

这些视频已上传到Powvideo。 Powvideo在播放器中添加了一些广告。

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

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

我的代码:

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"));

    }
}

这是对玩家的测试,包含这些uglies广告http://powvideo.net/embed-d45fwobyzyup.html

当您播放视频或点击播放器的任何位置时,pop都会打开。 在Webaplication中,这个popad在相同的窗口中打开。

如何防止这种情况?或者如何在webapp下打开弹出窗口? 这可能吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试提供自己的WebEngine&#34; popup&#34;或者&#34;警告&#34;处理程序,然后默默地忽略这些请求..

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