如何将多个html页面添加到同一个WebView

时间:2015-11-09 22:23:33

标签: javascript java html webview javafx

我试图从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 Javanetscape.javascript.JSException: SyntaxError: Unexpected keyword 'this'. Expected ')' to end a argument list。在挖掘之后,我认为这是问题的根源,(即,在同一个WebView中调用多个HTML)。我知道这可能没什么意义,但请注意,发布的问题是我遇到的实际问题的一个非常基本的细分。我在同一个WebView中有多个HTML是不可避免的。

1 个答案:

答案 0 :(得分:1)

单个WebView实例只能在任何给定时间查看单个HTML文档。

也许您想使用iframe,这样您就可以在一个HTML页面中嵌入多个HTML页面?但是,在现代HTML开发中,iframe的使用通常是discouraged for many tasks,因为它有许多缺点。

实现HTML页面的标题和正文的标准方法是使用模板化语言生成HTML,将多个HTML片段组合成单个 HTML页面。 HTML模板是StackOverflow答案范围过于宽泛的主题。 HTML模板的组合可以从简单的字符串附加到使用诸如JSF的复杂处理技术的复杂性。您可能希望单独研究HTML模板。