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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
ets文件怎么调用ts文件中定义的方法
3116浏览 • 1回复 待解决
如何全局存储WebController
844浏览 • 1回复 待解决
HarmonyOS WebController存在调用顺序问题
366浏览 • 1回复 待解决
HarmonyOS runJavaScript执行时序
310浏览 • 1回复 待解决
TS文件引用ArkTS文件报错,如何修改
1405浏览 • 1回复 待解决
HarmonyOS Web runJavaScript 如何传参数
79浏览 • 1回复 待解决
ArkTS文件TS文件的区别
2431浏览 • 1回复 待解决
eTS文件ts文件的区别
2289浏览 • 1回复 待解决
HarmonyOS TS文件如何调用ArkTS的代码?
168浏览 • 1回复 待解决
native开发怎么引入curl库
2137浏览 • 1回复 待解决
HarmonyOS ets文件ts文件有什么区别
67浏览 • 1回复 待解决
如何在js文件引入自定义js文件
7825浏览 • 1回复 待解决
ArkTS文件TS文件之间有何异同?
1159浏览 • 1回复 待解决
现在不能直接创建.ts文件吗?
186浏览 • 1回复 待解决
ide支持持过滤ets和ts文件
809浏览 • 1回复 待解决
Native侧如何引入文件deviceinfo.h
1931浏览 • 1回复 待解决
怎么让项目全局使用d.ts
3385浏览 • 1回复 待解决