【问题标题】:How to load webpage from a string of html code in JavaFX webviewer?如何从 JavaFX webviewer 中的一串 html 代码加载网页?
【发布时间】:2014-10-22 04:09:43
【问题描述】:

JavaFX Web 查看器是否支持从一串 html 代码加载网页?我的代码目前在下面的场景 1 下正常运行。但是,我需要将 webFile 分成两部分(顶部和底部),然后在其间插入一串 html。最终结果通过 webviewer 加载。请参阅 #2 了解我的意图(它不起作用)。谁能建议我如何才能做到这一点?谢谢!

1.

String webFileStr = (new File(webFile)).toURI().toURL().toString();
webEngine.load(webFileStr);

2.

String webStr = topSlice + data + botSlice;
webEngine.load(webStr);

【问题讨论】:

    标签: java web javafx


    【解决方案1】:

    使用WebEngine.loadContent

    webView.getEngine().loadContent("<html>hello, world</html>", "text/html");
    

    Javadoc 说明:

    直接加载给定的内容。当你有这个方法时很有用 内容在内存中组成,或从某些无法加载的系统中加载 通过 URL 到达(例如,SVG 文本可能来自 数据库)。与 load(String) 一样,此方法是异步的。这个 方法还允许您指定字符串的内容类型 已加载,因此可以选择支持除 HTML 之外的其他类型。

    正如 Hiux 在 cmets 中建议的那样:

    使用&lt;base&gt; 标签是使用loadContent(String) 加载相关资源的诀窍,如他对How to load both html and javascript into webengine from loadContent()? 的相关回答中所示。

    【讨论】:

    • 哦,太完美了! html 内容将在内存中组成,认为直接加载它比保存它然后加载页面要快得多。我也可以包含 css/javascript 吗?例如"css链接或内嵌,javascript链接或内嵌(包括jquery库)...等"
    • I just found out 使用&lt;base&gt; 标签是使用loadContent(String) 加载相关资源的技巧。我为这样的解决方案搜索了很长时间,所以我想分享它。 :)
    猜你喜欢
    • 2020-07-21
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    相关资源
    最近更新 更多