相关问题
 #鸿蒙通关秘籍#如何通过应用侧调用前端页面的JavaScript函数? 
1251浏览  • 1回复 待解决
HarmonyOS 前端页面调用应用侧函数的时候获取不到 
812浏览  • 1回复 待解决
ArkWeb:前端页面调用应用侧函数是同步还是异步? 
1472浏览  • 1回复 待解决
web组件中应用侧调用前端页面函数无法传递参数 
1590浏览  • 1回复 待解决
ArkTS web组件前端页面调用应用侧函数如何设置多个javaScriptProxy 
4341浏览  • 0回复 待解决
HarmonyOS  前端页面调用应用侧函数javascript可运行demo(javaScriptProxy) 
1116浏览  • 1回复 待解决
HarmonyOS 前端页面调用应用侧函数registerJavaScriptProxy没有挂载在window上 
1313浏览  • 1回复 待解决
前端页面调用应用侧函数时,提示参数类型不支持 
1508浏览  • 1回复 待解决
HarmonyOS  如何在前端页面执行应用侧class类方法中 打开加载另外一个ARKWeb本地页面 
858浏览  • 1回复 待解决
HarmonyOS Web组件前端页面调用应用侧函数,在页面关闭后再次打开无法触发的问题 
941浏览  • 1回复 待解决
web前端页面调用应用侧函数后, promptAction.showDialog弹窗,点击按钮没有回调 
1461浏览  • 1回复 待解决
在应用页面里嵌套了h5页面,前端页面调用应用侧函数根据日志打印调用不到 
1862浏览  • 1回复 已解决
#鸿蒙通关秘籍#鸿蒙应用侧与前端页面如何进行数据通信? 
1107浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中使用异步Promise与前端页面进行通信? 
1092浏览  • 1回复 待解决
HarmonyOS  在h5前端侧调用应用侧方法 
942浏览  • 1回复 待解决
#鸿蒙通关秘籍#将ArkTS前端页面完成以后,如何调用后端接口? 
2879浏览  • 2回复 待解决
Native调用ArkTS侧类函数 
2363浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在Node-API中实现多线程JavaScript函数调用? 
1464浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在主线程中加载系统模块并调用其函数? 
1015浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中加载本地HTML页面 
1794浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在TaskPool子线程中预加载So库并调用其函数? 
992浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现Native侧进度通知? 
1203浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在TaskPool子线程中预加载.so库并通过句柄调用函数? 
1504浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在应用接续中控制迁移时的页面显示? 
934浏览  • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙应用和页面生命周期函数使用详解 
1918浏览  • 1回复 待解决





















为了让前端页面调用应用侧的函数,需要先在应用侧注册该函数,以下是实现步骤:
在应用侧使用
webview.WebviewController.registerJavaScriptProxy()注册JavaScript处理函数。typescript // xxx.ets import { webview } from '@kit.ArkWeb';
class testClass { test(): string { return 'Hello from application side!'; } }
@Entry @Component struct WebComponent { webviewController: webview.WebviewController = new webview.WebviewController(); testObj: testClass = new testClass();
build() { Column() { Web({ src: $rawfile('index.html'), controller: this.webviewController }) .registerJavaScriptProxy(this.testObj, "testObj", ["test"]); } } }
在前端页面上,通过注册的对象名称调用该函数。
html <!-- index.html --> <!DOCTYPE html> <html> <body> <button type="button" onclick="showMessage()">Show Message</button> <p id="demo"></p> <script> function showMessage() { let message = testObj.test(); document.getElementById("demo").innerHTML = message; } </script> </body> </html>