JavaFx js webView交互
java调用js方法js方法function data(v) {document.getElementById('demotest').value = v;}java 调用写法WebEngine engine = webviewid.getEngine();//WebView 获取html加载对象String javascript = "data('读卡程序 V1.0.0.104[卡号信息:195
·
java调用js方法
js方法
function data(v) {
document.getElementById('demotest').value = v;
}
java 调用写法
WebEngine engine = webviewid.getEngine();//WebView 获取html加载对象
String javascript = "data('读卡程序 V1.0.0.104[卡号信息:1952161201]')";
Object executeScript = engine.executeScript(javascript);//执行方法 executeScript 为返回参数
执行前截图
执行后截图
js调用java
js 代码
var apps = 'test';
function showJava() {
document.getElementById("infoJava").innerText = apps.showInfo("java");
}
java 代码
定义方法对象(对象方法必须公有)
public static class A{
public String showInfo(String info) {
return "A{info="+ info +"}";
}
}
绑定到webview界面中
A apps = new A();
WebEngine engine = webviewid.getEngine();
engine.getLoadWorker().stateProperty().addListener(
(ObservableValue<? extends Worker.State> ov, Worker.State oldState, Worker.State newState) -> {
if (newState == Worker.State.SUCCEEDED) {
JSObject win = (JSObject) engine.executeScript("window");
win.setMember("apps", apps);// 设置变量
}
});
执行前:
执行后:

注意:加载html的方式,如果是本地以 file:/// 加上html在本地的绝对路径,如果是加载服务器的就直接传入url地址。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)