HarmonyOS this.webController.runJavaScript()怎么引入.ts文件

HarmonyOS
2024-12-25 14:17:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

webController.runJavaScript只能指定js中的方法,如果您想webview中与H5交互,指定.ts文件中的方法,可以参考registerJavaScriptProxy这个方法,请看:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#runjavascript

类似于:

// html侧代码
<input type="text" name="number_info" readonly onclick="openWindow()" value="" style="width:500px;height:100px;font-size:50px;border:1px solid #f00;">
  <script>
  function openWindow() {
    let value = document.getElementsByName('number_info')[0].value;
    window.myJsb.openDialog(value)
  }
  </script>

  //当H5上openWindow方法被调用后会通过jsBridge调用以下两个js代理方法打开自定义弹窗
  jsbObject: JsbObject = {
  openDialog: (value: string) => {
    this.showDialog(this, value);
  }
}
showDialog(context: object, value: string) {
  // 把自定义弹窗调出来
  this.currentData = value;
  this.dialogController.open()
}

Web({ src: 'resource://rawfile/web_test.html', controller: this.webviewController})
  .javaScriptAccess(true)
  .javaScriptProxy({
    name: 'myJsb',
    object: this.jsbObject,
    methodList: ['openDialog'],
    controller: this.webviewController
  })
分享
微博
QQ
微信
回复
2024-12-25 17:43:06
相关问题
如何全局存储WebController
1080浏览 • 1回复 待解决
ets文件怎么调用ts文件中定义的方法
3355浏览 • 1回复 待解决
HarmonyOS runJavaScript执行时序
482浏览 • 1回复 待解决
HarmonyOS WebController存在调用顺序问题
727浏览 • 1回复 待解决
HarmonyOS Web runJavaScript 如何传参数
262浏览 • 1回复 待解决
native开发怎么引入curl库
2221浏览 • 1回复 待解决
eTS文件ts文件的区别
2481浏览 • 1回复 待解决
ArkTS文件TS文件的区别
2639浏览 • 1回复 待解决
如何在js文件引入自定义js文件
7988浏览 • 1回复 待解决
HarmonyOS ets文件ts文件有什么区别
300浏览 • 1回复 待解决
TS文件引用ArkTS文件报错,如何修改
1707浏览 • 1回复 待解决
ArkTS文件TS文件之间有何异同?
1391浏览 • 1回复 待解决
HarmonyOS TS文件如何调用ArkTS的代码?
461浏览 • 1回复 待解决
HarmonyOS 引入报错
63浏览 • 1回复 待解决
Native侧如何引入文件deviceinfo.h
2243浏览 • 1回复 待解决
HarmonyOS .ets和.ts文件的差异是什么
137浏览 • 1回复 待解决