#案例-功能交互
- 更新时间:2026-03-17 19:34:33
本示例将展示一个简单的网页交互功能:实现html与脚本环境功能的相互调用
#Xml代码
<ui>
<statusbar/>
<button text="调用" id="but" />
<webview id="webview" path="main.html" w="max" h="max" />
</ui>#Html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--
适配安卓设备屏幕大小
-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
<title>Title</title>
</head>
<body>
<button onclick="test1()">测试</button>
<button onclick="test2()">获取无障碍权限</button>
<button onclick="test3()">获取名字</button>
</body>
<script>
function test1() {
$.alert("我是测试弹窗");
}
function test2() {
//无返回参数
$.call("getWza");
}
function test3() {
//有返回参数
var name = $.call("getName");
$.alert("我的名字", name);
}
//没有参数
function test4() {
$.log("我被调用了!!!!!!");
}
//有参数 情人
function test5(what) {
return "我是你的" + decodeURIComponent(what);
}
</script>
</html>#JS代码
let ui = $ui.layout("main.xml");
let mAppbar = ui.id("mAppbar");
if (mAppbar != null) {
mAppbar.back(() => {
ui.finish();
});
}
let wv = ui.id("webview");
let but = ui.id("but");
wv.onLoaded(() => {
//获取无障碍权限
wv.addFunc("getWza", () => {
//获取无障碍权限
$permit.wza();
});
//返回我的名字
wv.addFunc("getName", () => {
return "张三";//只能返回字符串(字符串 => 几乎所有的类型)
});
});
but.click(() => {
//调用html中提供的方法
wv.callJsStr("test5", "小情人", (result) => {
log("获得返回值:" + result);
});
});
//最好放在最后显示主界面
ui.show();