javafx webview js交互问题

发布网友 发布时间:2022-04-25 06:10

我来回答

2个回答

热心网友 时间:2022-04-23 11:34

1、如果html文件在jar包内,就是在classpath就这样加载
webView.getEngine().load(WebViewStyle.class.getResource("/com/html/ScriptToJava.html").toExternalForm());
2、如果html文件在项目之外

File file = new File("Resources/Html/Chat/show/show.html");

String absolutePath = file.getAbsolutePath();

absolutePath = absolutePath.replace("\\", "/");

if (absolutePath.startsWith("/")) {

webView.getEngine().load("file:" + absolutePath);

}else {

webView.getEngine().load("file:/" + absolutePath);

}

3、js调用Java对象
(1)、Java class需要是public

(2)提交实例化java对象和页面加载完再设置

(3)调用

热心网友 时间:2022-04-23 12:52

通过WebView的addJavascriptInterface()进行对象映射
1、将JS代码javascript.html格式放到src/main/assets文件夹里
javascript.html

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JavaScript</title> <script> function callAndroid(){ native.post("native://back");
} </script></head><!-- 点击按钮则调用callAndroid()方法 --><body><button type="button" id="button1" onclick="callAndroid()">点击调用Android代码</button></body></html>追问是javafx 不是安卓

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com