#鸿蒙通关秘籍#如何动态创建和控制Web组件以加载HTML数据

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
紫电清霜DVT

通过使用loadData()接口可以在鸿蒙中动态加载HTML格式的数据,适用于无需整页显示的内容。代码例子如下:

ets import { webview } from '@kit.ArkWeb'; import { BusinessError } from '@kit.BasicServicesKit';

@Entry @Component struct WebComponent { controller: webview.WebviewController = new webview.WebviewController();

build() { Column() { Button('loadData') .onClick(() => { try { this.controller.loadData( "<html><body bgcolor="white">Source:<pre>source</pre></body></html>", "text/html", "UTF-8" ); } catch (error) { console.error(ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}); } }) Web({ src: 'www.example.com', controller: this.controller }) } } }

创建动态Web组件实例,并对其进行管理,示例代码如下:

ets import { createNWeb } from "../pages/common" onWindowStageCreate(windowStage: window.WindowStage): void { windowStage.loadContent('pages/Index', (err, data) => { createNWeb("https://www.example.com", windowStage.getMainWindowSync().getUIContext()); if (err.code) { return; } }); }

分享
微博
QQ
微信
回复
5天前
相关问题
HarmonyOS Web组件加载html文件异常
510浏览 • 1回复 待解决
web组件html文件的加载
769浏览 • 1回复 待解决
HarmonyOS Web组件如何加载html字符串
617浏览 • 1回复 待解决