diff --git a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/webview/web_message/WebMessageChannel.ets b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/webview/web_message/WebMessageChannel.ets index c4bd1cc9a67e56977b73a965a232a3555739385d..1dde56c780ae6da1ab5350ff7f0e884fda3f7a94 100644 --- a/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/webview/web_message/WebMessageChannel.ets +++ b/flutter_inappwebview_ohos/ohos/src/main/ets/components/plugin/webview/web_message/WebMessageChannel.ets @@ -107,15 +107,23 @@ export class WebMessageChannel implements Disposable { try { /// 安卓端还会传入WebMessagePortCompat[]类型,目前ohos没有 if (data != null && message.getType() == web_webview.WebMessageType.ARRAY_BUFFER) { - let webMessageExt: web_webview.WebMessageExt = new web_webview.WebMessageExt() - webMessageExt.setArrayBuffer(data as ArrayBuffer) - webMessageExt.setType(web_webview.WebMessageType.ARRAY_BUFFER) - port.postMessageEventExt(webMessageExt); + try{ + let webMessageExt: web_webview.WebMessageExt = new web_webview.WebMessageExt() + webMessageExt.setArrayBuffer(data as ArrayBuffer) + webMessageExt.setType(web_webview.WebMessageType.ARRAY_BUFFER) + port.postMessageEventExt(webMessageExt); + } catch( ex ) { // NOTE:存在“Error: BusinessError 401: Parameter error. The type of 'message' is invalid.”,未知原因,数据是正常数据 + port.postMessageEvent(data as ArrayBuffer); + } } else { - let webMessageExt: web_webview.WebMessageExt = new web_webview.WebMessageExt() - webMessageExt.setString(data != null ? data.toString() : null) - webMessageExt.setType(web_webview.WebMessageType.STRING) - port.postMessageEventExt(webMessageExt); + try{ + let webMessageExt: web_webview.WebMessageExt = new web_webview.WebMessageExt() + webMessageExt.setString(data != null ? data.toString() : null) + webMessageExt.setType(web_webview.WebMessageType.STRING) + port.postMessageEventExt(webMessageExt); + } catch( ex ) { // NOTE:存在“Error: BusinessError 401: Parameter error. The type of 'message' is invalid.”,未知原因,数据是正常数据 + port.postMessageEvent(data != null ? data.toString() : null); + } } result.success(true); } catch (e) {