我试图从Java加载多个HTML页面到JavaFx WebView,但我只添加了最后添加的WebView:
.java文件
private void multiplePages() {
webEngine.load("file:D:/head.html");
webEngine.load("file:D:/body.html");
}
如何将多个HTML页面添加到同一个WebView
中HTML:
head.html
<div class="Head">
<h3 class="panel-title">Page Head</h3>
</div>
body.html
<div class="Head">
<h3 class="panel-title">Page Head</h3>
</div>
提前谢谢大家。
更新
该问题已被提及here: Cannot execute JavaScript when multiple WebViews are used at the same time, JDKJDK-8129398作为错误。
这个问题是我之前提到的另一个问题的后续问题:Error calling JavaScript from Java和netscape.javascript.JSException: SyntaxError: Unexpected keyword 'this'. Expected ')' to end a argument list。在挖掘之后,我认为这是问题的根源,(即,在同一个WebView中调用多个HTML)。我知道这可能没什么意义,但请注意,发布的问题是我遇到的实际问题的一个非常基本的细分。我在同一个WebView中有多个HTML是不可避免的。
答案 0 :(得分:1)
单个WebView实例只能在任何给定时间查看单个HTML文档。
也许您想使用iframe,这样您就可以在一个HTML页面中嵌入多个HTML页面?但是,在现代HTML开发中,iframe的使用通常是discouraged for many tasks,因为它有许多缺点。
实现HTML页面的标题和正文的标准方法是使用模板化语言生成HTML,将多个HTML片段组合成单个 HTML页面。 HTML模板是StackOverflow答案范围过于宽泛的主题。 HTML模板的组合可以从简单的字符串附加到使用诸如JSF的复杂处理技术的复杂性。您可能希望单独研究HTML模板。