Désactivation du chargement des images dans JavaFX WebEngine


J'ai cherché partout mais je n'ai trouvé aucun moyen de désactiver le chargement des images par Java WebEngine.

Recherche effectuée:

, j'ai trouvé quelques idées, comme l'utilisation de URL.setURLStreamHandlerFactory() mes URLStreamHandler, et avoir analyser l'URL de retour uniquement URLConnections pour les URL qui ne se terminent pas dans .jpg .png etc. Mais cela a de nombreux problèmes: Parfois, l'URL de l'image ne se termine pas .jpg, si c'est une image dynamique, comme un captcha. Alors, comment puis-je désactiver le chargement automatique des images à partir de WebEngine?

Author: ttilt, 2014-05-28

1 answers

Je ne suis pas un expert JSoup mais il devrait être assez facile de faire quelque chose comme ça.

import java.net.URL;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class NoImg extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        WebView wv = new WebView();
        WebEngine we = wv.getEngine();
        Document doc = Jsoup.parse(new URL("http://www.google.com"), 5000);
        doc.select("img").stream().forEach((element) -> {
            element.remove();
        });
        we.loadContent(doc.outerHtml());
        Scene scene = new Scene(wv, 300, 250);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

Cela semble bien fonctionner. Vous avez besoin du jsoup.jar

 1
Author: brian, 2014-05-28 14:36:45