Skip to content
This repository was archived by the owner on Nov 27, 2025. It is now read-only.

Commit 34706f0

Browse files
committed
新增postMessage能力
1 parent fa9cc60 commit 34706f0

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

harmony/rn_webview.har

233 Bytes
Binary file not shown.

harmony/rn_webview/oh-package.json5

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"devDependencies": {
44
},
55
"author": "",
6-
"name": "rnoh-webview",
6+
"name": "@react-native-oh-tpl/react-native-webview",
77
"description": "Please describe the basic information.",
88
"main": "index.ets",
9-
"version": "13.6.3-0.0.6",
9+
"version": "13.6.3-0.0.7",
1010
"dependencies": {
1111
"rnoh": "file:../rnoh"
1212
}

harmony/rn_webview/src/main/ets/WebView.ets

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,27 @@ export struct WebView {
236236
}
237237
break
238238
case "postMessage":
239-
Logger.debug(TAG,`[RNOH] postMessage,${JSON.stringify(args)}`)
240-
break
239+
Logger.debug(TAG, `[RNOH] postMessage,${JSON.stringify(args)}`)
240+
let data = JSON.stringify({data : args[0]})
241+
let result: string = "(function () {" +
242+
"var event;" +
243+
"var data = " + data.toString() + ";" +
244+
"try {" +
245+
"event = new MessageEvent('message', data);" +
246+
"} catch (e) {" +
247+
"event = document.createEvent('MessageEvent');" +
248+
"event.initMessageEvent('message', true, true, data.data, data.origin, data.lastEventId, data.source);" +
249+
"}" +
250+
"document.dispatchEvent(event);" +
251+
"})();"
252+
if (this.controllerAttached) {
253+
try {
254+
this.controller.runJavaScript(result)
255+
} catch (error) {
256+
Logger.error(TAG, "error:" + error)
257+
}
258+
}
259+
break;
241260
case "reload":
242261
Logger.debug(TAG,`[RNOH] reload,${JSON.stringify(args)}`)
243262
if (this.controllerAttached) {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"Thibault Malbranche <[email protected]>"
1111
],
1212
"license": "MIT",
13-
"version": "13.6.3-0.0.6",
13+
"version": "13.6.3-0.0.7",
1414
"homepage": "https://github.com/react-native-webview/react-native-webview#readme",
1515
"scripts": {
1616
"lint": "yarn tsc --noEmit && yarn eslint ./src --ext .ts,.tsx",

0 commit comments

Comments
 (0)