HarmonyOS使用Web组件加载页面

1、加载网络页面

在Web组件创建时,指定默认加载的网络页面 。在默认页面加载完成后,如果开发者需要变更此Web组件显示的网络页面,可以通过调用loadUrl()接口加载指定的网页。

默认在Web组件加载完“www.baidu.com”页面后,点击按钮时可通过loadUrl接口将此Web组件显示页面变更为“www.huawei.com”。

2、加载本地页面

将本地页面文件放在应用的rawfile目录下,可以在Web组件创建的时候指定默认加载的本地页面 ,并且加载完成后可通过调用loadUrl()接口变更当前Web组件的页面。

3、加载HTML格式的文本数据

Web组件可以通过loadData()接口实现加载HTML格式的文本数据。当开发者不需要加载整个页面,只需要显示一些页面片段时,可通过此功能来快速加载页面。

import web_webview from '@ohos.web.webview';
@Entry
@Component
struct WebComponentSimple {
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  build() {
    Column() {
      Row(){
        Button('华为官方官网')
          .onClick(() => {
            try {
              // 点击按钮时,通过loadUrl,跳转到www.baidu.com
              this.webviewController.loadUrl('www.huawei.com');
            } catch (error) {
              console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
            }
          })

        Button('加载本地页面')
          .onClick(() => {
            try {
              // 点击按钮时,通过loadUrl,跳转到local1.html
              this.webviewController.loadUrl($rawfile('local.html'));
            } catch (error) {
              console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
            }
          })

        Button('加载HTML代码片段')
          .onClick(() => {
            try {
              // 点击按钮时,通过loadData,加载HTML格式的文本数据
              this.webviewController.loadData(
                "<html><body bgcolor=\"white\">Source:<pre>加载HTML代码片段</pre></body></html>",
                "text/html",
                "UTF-8"
              );
            } catch (error) {
              console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
            }
          })
      }
      .justifyContent(FlexAlign.Start)

      Row(){
        // 组件创建时,加载www.baidu.com
        Web({ src: 'www.baidu.com', controller: this.webviewController})
      }
    } .alignItems(HorizontalAlign.Start)
  }
}
4、在module.json5中配置网络访问权限
    "requestPermissions":[
      {
        "name" : "ohos.permission.INTERNET",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"inuse"
        }
      }
    ]
5、src/main/resources/rawfile目录下创建local.html文件
<!DOCTYPE html>
<html>
<body>
<p style="font-size:20px">本地页面</p>
<p>以下内容建设中……</p>
</body>
</html>
6、HarmonyOS模拟器中,运行并查看结果

注:PreViewer预览器无法查看结果

         

  

相关推荐

  1. Harmonyos系统web使用

    2024-01-31 21:02:01       52 阅读
  2. next server client 使用suspense

    2024-01-31 21:02:01       31 阅读
  3. react

    2024-01-31 21:02:01       40 阅读
  4. 鸿蒙(HarmonyOS)应用开发——web

    2024-01-31 21:02:01       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-31 21:02:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-31 21:02:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-31 21:02:01       82 阅读
  4. Python语言-面向对象

    2024-01-31 21:02:01       91 阅读

热门阅读

  1. DAY35:贪心算法part4、860\406\452

    2024-01-31 21:02:01       71 阅读
  2. PHP雪花算法

    2024-01-31 21:02:01       56 阅读
  3. MBA十日读--营销章节 笔记

    2024-01-31 21:02:01       40 阅读
  4. Aspose-words详细功能介绍

    2024-01-31 21:02:01       61 阅读
  5. 同花顺C# MACD的计算方式

    2024-01-31 21:02:01       48 阅读