可以参考这个示例里面的Function调用方式和这个场景类似。https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-in-page-app-function-invoking-V5import { webview } from '@kit.ArkWeb'; import { BusinessError } from '@kit.BasicServicesKit'; class testClass { constructor() { } test(param: ESObject): void { param.hello("call obj func"); } toString(param: String): void { console.log('Web Component toString' + param); } } @Entry @Component struct Index { webviewController: webview.WebviewController = new webview.WebviewController(); @State testObj: testClass = new testClass(); build() { Column() { Button('refresh') .onClick(() => { try { this.webviewController.refresh(); } catch (error) { console.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`); } }) Button('Register JavaScript To Window') .onClick(() => { try { this.webviewController.registerJavaScriptProxy(this.testObj, "testObjName", ["test", "toString"]); } catch (error) { console.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`); } }) Web({ src: $rawfile('index.html'), controller: this.webviewController }) } } }
可以参考这个示例里面的Function调用方式和这个场景类似。https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-in-page-app-function-invoking-V5