HarmonyOS 鸿蒙Next:js处理,H5调用应用层方法

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

HarmonyOS 鸿蒙Next:js处理,H5调用应用层方法

应用侧的代码

TAG: string = "JSCallBack";

jsCallBack(param: string): void {
  Log.info(this.TAG, 'js Web Component toString' + param);
}

注册js的代码

jsCallback: JSCallBack = new JSCallBack(); //声明
Web({ src: this.webUrl, controller: this.controller })
  .javaScriptAccess(true)
  .domStorageAccess(true)
  .javaScriptProxy({
    //添加js
    object: {
      call: this.jsCallback
    },
    name: "appCallback",
    methodList: ["jsCallBack"],
    controller: this.controller,
  })

H5侧的代码 

if (window.appCallback && typeof window.appCallback.jsCallBack === 'function') {
 console.log("Calling jsCallBackwith:", jsonStr); 
 window.appCallback.jsCallBack(jsonStr); // 调用本地回调方法 
} else { 
console.error("Method jsCallBacknot available on appCallback"); 
}

当调用这个js时,console能看到日志,但是在Log里报错了
[webview_javascript_result_callback.h:288] JavaScriptOb FindMethod fail

[webview_javascript_result_callback.cpp:931] WebviewJavaScriptResultCallBack::ExecuteGetJavaScriptResult callback null

[webview_javascript_result_callback.cpp:781] ParseNapiValue2NwebValue napi api call fail

我这有什么问题吗


更多关于HarmonyOS 鸿蒙Next:js处理,H5调用应用层方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

更多关于HarmonyOS 鸿蒙Next:js处理,H5调用应用层方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


.javaJavaScriptProxy({ //添加js object: { call: this.jsCallback }, name: “zhcwclient”, methodList: [“zhcwclientCallBack”], controller: this.controller, }) 如果我把name 或者methodList的文本修改掉成别的,那么就会看到日志

Method jsCallBacknot available on appCallback

在HarmonyOS(鸿蒙)系统中,当你使用JavaScript进行开发并希望通过H5页面调用应用层方法时,通常你会依赖于鸿蒙提供的JS框架和相关API来实现这一功能。以下是一个简要的实现思路:

鸿蒙系统支持通过JS Bridge机制来实现H5页面与应用层之间的通信。你可以通过定义特定的接口或事件,在H5页面中触发这些接口或事件,然后在应用层监听并响应这些触发,从而执行相应的应用层方法。

具体步骤如下:

  1. 定义接口:在应用层定义可被H5页面调用的接口,这些接口可以是自定义的JS函数或者系统提供的API。

  2. H5页面调用:在H5页面中,通过JavaScript代码调用这些预定义的接口。这通常涉及发送特定的消息或事件给应用层。

  3. 应用层响应:应用层监听这些来自H5页面的消息或事件,并根据消息内容执行相应的应用层方法。

  4. 数据传递:如果需要,可以在调用接口时传递数据,这些数据在应用层被接收并处理。

需要注意的是,鸿蒙系统的JS框架和API可能会随着版本更新而有所变化,因此建议查阅最新的鸿蒙开发文档以获取最准确的信息。

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

回到顶部