相关问题
#鸿蒙通关秘籍#如何通过应用侧调用前端页面的JavaScript函数?
15浏览 • 1回复 待解决
ArkWeb:前端页面调用应用侧函数是同步还是异步?
213浏览 • 1回复 待解决
web组件中应用侧调用前端页面函数无法传递参数
223浏览 • 1回复 待解决
ArkTS web组件前端页面调用应用侧函数如何设置多个javaScriptProxy
2768浏览 • 0回复 待解决
前端页面调用应用侧函数时,提示参数类型不支持
758浏览 • 1回复 待解决
HarmonyOS 前端页面调用应用侧函数registerJavaScriptProxy没有挂载在window上
195浏览 • 1回复 待解决
web前端页面调用应用侧函数后, promptAction.showDialog弹窗,点击按钮没有回调
323浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙应用侧与前端页面如何进行数据通信?
15浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中使用异步Promise与前端页面进行通信?
22浏览 • 1回复 待解决
Native调用ArkTS侧类函数
952浏览 • 1回复 待解决
#鸿蒙通关秘籍#将ArkTS前端页面完成以后,如何调用后端接口?
157浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙应用中加载本地HTML页面
72浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在TaskPool子线程中预加载So库并调用其函数?
87浏览 • 1回复 待解决
如何在taskpool的线程调用类的成员函数
929浏览 • 1回复 待解决
HarmonyOS 应用访问前端页面方法
8浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙应用和页面生命周期函数使用详解
86浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在TaskPool子线程中预加载.so库并通过句柄调用函数?
131浏览 • 1回复 待解决
TS侧如何批量传递函数到native侧
961浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现Native侧进度通知?
109浏览 • 1回复 待解决
如何在Native侧调用ArkTS侧异步方法,并获取异步计算结果到Native侧
2662浏览 • 1回复 待解决
HarmonyOS H5侧调用应用侧,异步返回数据Demo
365浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何利用Native线程安全函数实现鸿蒙跨线程调用?
90浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何动态加载和调用Native库函数?
79浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙开发中实现列表项的侧滑删除?
78浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在应用接续中控制迁移时的页面显示?
6浏览 • 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>