gpt4 book ai didi

java - 在 Java 8u60 的 WebView 中加载本地 JavaScript 文件

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:12 25 4
gpt4 key购买 nike

直到 Java 8u51,以下工作正常:

  • 有一个包含 <script src="javascript.js"></script> 的 HTML 文件
  • 将此 HTML 文件加载到 WebView 中
  • 调用javascript.js 中包含的函数使用 webView.getEngine().executeScript()

然而,切换到 8u60 后,它不再有效:

Exception in thread "JavaFX Application Thread" netscape.javascript.JSException: TypeError: undefined is not a function

所以文件javascript.js不再加载。 它在从 IDE 启动时有效,其中 JavaScript 文件仅位于文件系统中。然而,当应用程序被打包时,它不再起作用,因此 javascript.js在 JAR 文件中。

知道发生了什么变化以及如何解决这个问题吗?

最佳答案

从 Java 8u60 开始,在 html 文件中引用的本地 javascript 文件不再在 WebView 中执行。使用旧版本运行该程序时,它仍然有效。我没有发现任何信息表明此行为更改是 Oracle 有意为之。

作为解决方法,您可以将 javascript 代码直接放入 HTML 文件中,或者在 java 中将 javascript 文件的内容加载到字符串中并使用 webView.getEngine().executeScript() 执行它。

关于java - 在 Java 8u60 的 WebView 中加载本地 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429069/

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