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 URLConnection
s 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?
3
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