HarmonyOS鸿蒙Next中web与arkts交互发送请求demo
HarmonyOS鸿蒙Next中web与arkts交互发送请求demo
介绍
本篇Codelab是基于ArkTS的声明式开发范式的样例,主要介绍了Web组件如何加载本地、云端的H5和Vue页面并与原生交互发起请求。
demo详情链接
https://gitee.com/scenario-samples/web-network
在HarmonyOS鸿蒙Next中,Web与ArkTS交互发送请求的Demo可以通过以下步骤实现:
-
Web页面准备:在Web页面中,使用JavaScript与ArkTS进行交互。可以通过
window.postMessage
方法向ArkTS发送消息。<!DOCTYPE html> <html> <body> <button onclick="sendMessage()">发送请求</button> <script> function sendMessage() { window.postMessage('Hello ArkTS', '*'); } </script> </body> </html>
-
ArkTS代码准备:在ArkTS中,通过
WebView
组件加载Web页面,并监听来自Web的消息。import web_webview from '[@ohos](/user/ohos).web.webview'; [@Entry](/user/Entry) [@Component](/user/Component) struct Index { @State message: string = 'Hello World'; private webviewController: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Web({ src: 'www/index.html', controller: this.webviewController }) .onPageEnd(() => { this.webviewController.setWebMessageListener((message) => { console.log('Received message from Web:', message); this.message = message; }); }) } } }
-
交互实现:当用户在Web页面点击按钮时,
window.postMessage
会将消息发送到ArkTS。ArkTS通过setWebMessageListener
监听并处理该消息。
以上代码展示了如何在HarmonyOS鸿蒙Next中实现Web与ArkTS的简单交互,发送请求并接收消息。
更多关于HarmonyOS鸿蒙Next中web与arkts交互发送请求demo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,使用ArkTS与Web进行交互并发送请求的示例如下:
-
Web端:在HTML中定义JavaScript函数,用于接收ArkTS发送的数据。
<script> function receiveData(data) { console.log("Received data from ArkTS:", data); } </script>
-
ArkTS端:使用
WebView
组件加载Web页面,并通过postMessage
发送数据。import webview from '[@ohos](/user/ohos).web.webview'; let webView = webview.createWebView(); webView.loadUrl('file:///path/to/your/webpage.html'); // 发送数据到Web webView.postMessage('receiveData', { message: 'Hello from ArkTS' });
-
监听Web返回:通过
onMessageEvent
监听Web返回的数据。webView.onMessageEvent((event) => { console.log("Received message from Web:", event.data); });