当前位置: 首页 > 知识库问答 >
问题:

如何从loadContent()将html和javascript加载到webengine中?

轩辕鸿
2023-03-14

是否有人可以提供一些建议,说明如何从loadContent()将以下内容加载到webviewer上?

我试着做这样的事,但似乎不起作用。谢谢!

    Scanner sc1 = new Scanner(new File("src/web/web.html"));
    String webStr = sc1.useDelimiter("\\Z").next();

    Scanner sc2 = new Scanner(new File("src/web/data.js"));
    String dataStr = sc2.useDelimiter("\\Z").next();

    Scanner sc3 = new Scanner(new File("src/web/cytoscape.min.js"));
    String cytoStr = sc3.useDelimiter("\\Z").next();

    Scanner sc4 = new Scanner(new File("src/web/jquery.min.js"));
    String jqueryStr = sc4.useDelimiter("\\Z").next();

    webEngine.loadContent(cytoStr, "text/javascript");
    webEngine.loadContent(jqueryStr, "text/javascript");
    webEngine.loadContent(dataStr, "text/javascript");
    webEngine.loadContent(webStr, "text/html");

共有1个答案

丘浩宕
2023-03-14

您首先需要将这三个文件放到同一级别的资源或硬盘驱动器上。

若要直接从内存加载内容,可以使用

webView.getEngine().loadContent("your html")

从Javadoc:

但是请注意,链接的资源应该可以通过它们的URL获得,即在磁盘上或资源中。为了反映web应用程序中的动态变化,我建议您从JS调用Java。这可以通过在JS应用程序中提供Java对象来实现:使用JSObject在WebView内部进行JavaFX和JavaScript之间的通信

在这里您可能会找到一个浏览器演示和一个简化的WebView组件:Java GUI来显示网页并返回HTML。

 类似资料:
  • 我使用JavaFX和JavaFX WebEngine中的javascript引擎来开发应用程序。我希望得到javascript的反馈,以供调试之用。WebEngine内部的控制台输出发生了什么?有没有什么方法可以访问它,或者用Java重定向到System.out?

  • 问题内容: 我正在尝试从外部文件加载HTML并将文件的内容插入。 当我运行该函数时,它将HTML插入所有正文中,这是不够的。 我的代码: --------------------------> HTML <--------------------- ----- --------------------------> CSS <--------------------- ----- --------

  • 我想加载(要求)一个包含json模式的文件夹,这些模式具有基于其文件的引用。 换句话说,我有 并在同一文件夹中的另一个文件中: 这些模式在sperate文件中,现在应该加载到JS中,以便针对json对象进行验证。但是,文件夹内的引用应该仍然有效。 这就是为什么我的问题是,是否以及如何能够加载一个装满json文件的文件夹,而不需要中断引用。 这个库将使用这些模式来验证json对象:https://g

  • 下面是我的代码: 这是我的适配器:

  • 问题内容: 我正在使用Selenium WebDriver尝试将外部javascript文件插入DOM中,而不是将整个内容键入到executeScript中。 看起来好像已将节点正确放置到DOM中,但是随后它只是忽略了源代码,即,所述源js文件上的函数未运行。 这是我的代码: 我链接到的javascript文件的代码是 我已将js文件放在本地主机上,使用file:///进行了调用,并在外部服务器上