【发布时间】:2015-12-02 10:37:40
【问题描述】:
在 Java 8u51 之前,以下工作正常:
- 有一个包含
<script src="javascript.js"></script>的 HTML 文件 - 将此 HTML 文件加载到 WebView 中
- 使用
webView.getEngine().executeScript()调用包含在javascript.js中的函数
然而,切换到 8u60 后,它不再工作:
Exception in thread "JavaFX Application Thread" netscape.javascript.JSException: TypeError: undefined is not a function
所以文件javascript.js 不再加载。 它在从 IDE 启动时工作,其中 JavaScript 文件仅位于文件系统上。但是,它不再起作用,当应用程序被打包时,javascript.js 在 JAR 文件中。
知道发生了什么变化以及如何解决这个问题吗?
【问题讨论】:
-
不是jdk/jre的问题,没有找到你的js文件(你可以在jar旁边找找试试),相信你设置的目标js文件路径错误跨度>
-
为什么以前可以用,后来就不行了?
-
因为IDE没有生成jar文件然后运行它,而你这样做,你需要指定javascript文件它是一个嵌入jar资源
-
“当应用程序打包时它不再工作”我的意思是它适用于 u51 但不适用于 u60 - 两者都从 JAR 文件运行。
-
不是内容。将文件指定为 URL 而不是相对路径有效。
标签: java javafx-webengine