HarmonyOS 鸿蒙Next Web如何与H5进行交互传值

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Web如何与H5进行交互传值 项目中部分页面是用 Web 加载H5页面,但存在交互逻辑,具体需求如下

如android 所示:

WebView.addJavascriptInterface(new AndroidJavaScriptInterface(), "anDun");

class AndroidJavaScriptInterface {
  @JavascriptInterface
  public void postMessage(String jsonString) {
  LogUtils.d("H5给到的参数:" + jsonString);
  }
}

这是H5 给android 传值,其中 postMessage 是双方约定好的方法。

如下所示是android 给H5传值的方法

private void successAndFailurecallback(int callbackId, JSONObject jsCallback) {
  //native调用H5,方法及参数
  String jsData = String.format("window.anDunNative('%s','%s')", callbackId, jsCallback.toString());
  LogUtils.d("jsData:" + jsData);
  runOnUiThread(new Runnable() {
    @Override
    public void run() {
      WebView.evaluateJavascript(jsData, new ValueCallback<String>() {
        @Override
        public void onReceiveValue(String value) {
          LogUtils.d("value:" + value);
        }
      });
    }
  });
}

问下鸿蒙Web有没有类似的交互方法呀?有木有示例或者资料


更多关于HarmonyOS 鸿蒙Next Web如何与H5进行交互传值的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

HarmonyOS(鸿蒙)Next Web与H5进行交互传值通常依赖于鸿蒙系统提供的JS桥梁机制。这种机制允许在鸿蒙应用中的WebView组件与嵌入的H5页面之间进行数据通信。

在鸿蒙开发中,WebView组件被用来加载和显示H5页面。要实现与H5页面的交互传值,开发者需要在鸿蒙端和H5端分别进行以下操作:

  1. 鸿蒙端

    • 使用WebView组件加载H5页面。
    • 通过WebView提供的接口(如evalJs)执行H5页面中的JavaScript代码,以此传递数据给H5页面。
    • 监听WebView的JavaScript调用事件(如通过addJavascriptInterface方法暴露的接口),接收H5页面传递过来的数据。
  2. H5端

    • 通过JavaScript调用鸿蒙端暴露的接口来传递数据给鸿蒙应用。
    • 监听鸿蒙端通过evalJs执行到H5页面的JavaScript函数,接收鸿蒙应用传递的数据。

请注意,具体的实现细节可能会因鸿蒙系统的版本和API的更新而有所变化。开发者应参考最新的鸿蒙开发文档和API指南来实现这一功能。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部