gpt4 book ai didi

java - 如何从 javafx.scene.web.WebEngine#loadContent 加载的 html 页面获取 css 和图像文件?

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:03 26 4
gpt4 key购买 nike

我有一个字符串 HTML 内容,它通过 loadContent() 方法加载到 webEngine 中。我还有一些在此页面中使用的 css 和图像文件。虽然我把这些文件放到同一个java类包中,但是加载的页面找不到它们。寻找 API 文档和网络,但找不到任何合适的类似解决方案。我如何加载这些文件?

最佳答案

您可以将您的字符串 html 内容放在与 Java 类相同的包中的文件中,并使用 engine.load(String url)方法代替:

engine.load(getClass().getResource("mypage.html").toExternalForm());

执行此操作时,html 页面中的所有相关链接都将解析为 Java 包中的资源(例如 css 和图像文件)。

请注意,如果您正在加载位于 jar 文件中的资源,那么 jar:协议(protocol)不理解与父说明符的相对链接。例如,<img src="../images/image.png"/>不会工作,但是 <img src="/images/image.png"/><img src="images/image.png"/>只要您将图像放在 jar 文件中的适当位置即可。 file:协议(protocol)没有这样的限制和..当使用它加载资源时,相对链接将正常工作。

如果 html 字符串是由您的 java 代码动态生成的而不是静态的,那么 Sergey 的解决方案可能是最好的。

关于java - 如何从 javafx.scene.web.WebEngine#loadContent 加载的 html 页面获取 css 和图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8923801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com