繁体   English   中英

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

[英]Loading local JavaScript file in WebView in Java 8u60

在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文件中。

知道发生了什么变化以及如何解决?

从Java 8u60开始,在WebView中不再执行在html文件中引用的本地javascript文件。 当使用旧版本运行该程序时,它仍然可以工作。 我没有发现有关此行为更改是Oracle打算的信息。

解决方法是,您可以将javascript代码直接放入HTML文件中,也可以将javascript文件中的内容加载到String中并使用webView.getEngine().executeScript()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM