往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
Native发送协议给H5
JS方法定义
Native发送协议给H5通常格式是:
jsNameSpace.method.jsParams
- jsNameSpace:JS 命名空间
- method:JS 方法
- jsParams:方法的参数
获取WebViewJsUtils
public static getInstance(jsNameSpace: string = "Prius"):WebViewJsUtils
参数
参数 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
jsNameSpace | string | 否 | 执行的 JS 命名空间前缀,默认为 Prius |
说明
该方法用于获取 WebViewJsUtils 的实例,可以指定 JS 命名空间,也可以使用默认的 Prius
1. 执行js的onCallbackDone方法
executeDoneJs(control: webview.WebviewController | null, data: string): boolean
参数
参数 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
controller | webview.WebviewController | 否 | Web的控制器,可为空 |
data | string | 是 | 数据源,不需要加密 |
说明
此方法用于在 JS 中执行回调成功的操作。返回值为 boolean,表示是否成功执行。
2. 执行js的onCallbackFail方法
executeFailureJs(control: webview.WebviewController | null, data: string): boolean
参数
参数 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
controller | webview.WebviewController | 否 | Web的控制器,可为空 |
data | string | 是 | 数据源,不需要加密 |
说明
此方法用于在 JS 中执行回调成功的操作。返回值为 boolean,表示是否成功执行。
3. 执行指定js的方法
executeJs(control: webview.WebviewController | null, method: string, ...datas: string[])
参数
参数 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
controller | webview.WebviewController | 否 | Web的控制器,可为空 |
method | string | 是 | 执行的方法 |
data | string[] | 是 | 数据源,不需要加密 |
说明
此方法用于在 WebView 中执行指定的 JS 方法,并传递参数。返回类型为 void,无返回值。