HarmonyOS web组件javaScriptProxy有办法只集成全局的function方法吗,不集成对象

.javaScriptProxy({
  object: this.callAppToJs,
  name: "callAppToJs",
  methodList: ['callAppToJs', 'alert', 'openCamera', 'sendPhoto', 'routerToInternationalization',
    'loginOut', 'callAppToJs', 'openSystemBrowser', 'makePhoneCall'],
  controller: this.controller
})

集成全局的方法,不用object调用吗

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

目前.javaScriptProxy的object是必传项 暂不支持不填写他可以参考

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#javascriptproxy12

看下这种

// xxx.ets
import { webview } from '@kit.ArkWeb';

@Entry
@Component
struct WebComponent {
  webviewController: webview.WebviewController = new webview.WebviewController();

  aboutToAppear() {
    // 配置Web开启调试模式
    webview.WebviewController.setWebDebuggingAccess(true);
  }

  build() {
    Column() {
      Button('runJavaScript')
        .onClick(() => {
          // 前端页面函数无参时,将param删除。
          this.webviewController.runJavaScript('htmlTest(param)');
        })
      Button('runJavaScriptCodePassed')
        .onClick(() => {
          // 传递runJavaScript侧代码方法。
          this.webviewController.runJavaScript(`function changeColor(){document.getElementById('text').style.color = 'red'}`);
        })
      Web({ src: $rawfile('index.html'), controller: this.webviewController })
    }
  }
}



<!-- index.html -->
  <!DOCTYPE html>
  <html>
  <body>
  <button type="button" onclick="callArkTS()">Click Me!</button>
  <h1 id="text">这是一个测试信息,默认字体为黑色,调用runJavaScript方法后字体为绿色,调用runJavaScriptCodePassed方法后字体为红色</h1>
  <script>
  // 调用有参函数时实现。
  var param = "param: JavaScript Hello World!";
function htmlTest(param) {
  document.getElementById('text').style.color = 'green';
  console.log(param);
}
// 调用无参函数时实现。
function htmlTest() {
  document.getElementById('text').style.color = 'green';
}
// Click Me!触发前端页面callArkTS()函数执行JavaScript传递的代码。
function callArkTS() {
  window.changeColor();
}
</script>
  </body>
  </html>
分享
微博
QQ
微信
回复
2天前
相关问题
Flutter集成问题哪些?
300浏览 • 1回复 待解决
HarmonyOS 设置字体全局方法
449浏览 • 1回复 待解决
HarmonyOS 组件办法继承
121浏览 • 1回复 待解决
怎么集成HarmonyOS SDK
5001浏览 • 1回复 待解决
HarmonyOS 应用集成 Flutter
323浏览 • 1回复 待解决
HarmonyOS HasMap 如何转成对象
330浏览 • 1回复 待解决
HarmonyOS 集成态HSP和har什么区别
24浏览 • 1回复 待解决
HarmonyOS 相机集成问题
434浏览 • 1回复 待解决
HarmonyOS FlutterEngineGroup集成相关问题
94浏览 • 1回复 待解决
HarmonyOS 集成日历SDK
145浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人