50.HarmonyOS鸿蒙系统 App(ArkUI)web组件实现简易浏览器

50.HarmonyOS鸿蒙系统 App(ArkUI)web组件实现简易浏览器

配置网络访问权限:

 

跳转任务:

Button('转到')
          .onClick(() => {
            try {

              // 点击按钮时,通过loadUrl,跳转到www.example1.com
              this.webviewController.loadUrl(this.get_url);

            } catch (error) {
              console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
            }
          })

 前进代码:

Button('-->>').onClick(()=>{
          if (this.webviewController.accessForward())
          {
            this.webviewController.forward();
            return true;
          }
        })

后退代码:

 Button('<<--').onClick(()=>{
          if (this.webviewController.accessBackward())
          {
            this.webviewController.backward();
            return true;
          }


        })

项目代码:

// xxx.ets
import web_webview from '@ohos.web.webview';

@Entry
@Component

struct WebComponent {
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  @State get_url:string = "www.cnblogs.com/"
  @State cnblogs:string = 'www.cnblogs.com/'
  @State csdn:string = 'txwtech.blog.csdn.net'
  @State baidu:string = 'www.baidu.com'

  controller: TextInputController = new TextInputController()
  build() {
    Column() {
      Text('简易浏览器demo')
        .backgroundColor(Color.Blue)
      .fontColor(Color.White)
      .fontSize(28)
      Row()
      {
        Text('地址:')
        TextInput({text: this.get_url, placeholder: '请输入网址...', controller: this.controller})
          .onChange((value:string)=>{
            this.get_url = value
          })
          .backgroundColor(Color.Gray)


      }
      Row()
      {
        Button("cnblogs").onClick(()=>{
          this.get_url = this.cnblogs
        })
        Button('csdn').onClick(()=>{
          this.get_url = this.csdn
        })
        Button('baidu').onClick(()=>{
          this.get_url = this.baidu
        })
      }
      Row()
      {
        Button('<<--').onClick(()=>{
          if (this.webviewController.accessBackward())
          {
            this.webviewController.backward();
            return true;
          }


        })
        Button('  ')
        Button('  ')
        Button('转到')
          .onClick(() => {
            try {

              // 点击按钮时,通过loadUrl,跳转到www.example1.com
              this.webviewController.loadUrl(this.get_url);

            } catch (error) {
              console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
            }
          })
        Button('  ')
        Button('  ')
        Button('-->>').onClick(()=>{
          if (this.webviewController.accessForward())
          {
            this.webviewController.forward();
            return true;
          }
        })
      }.borderColor(Color.Orange)
      .backgroundColor(Color.Grey)




      // 组件创建时,加载www.example.com
      Web({ src: '', controller: this.webviewController})
    }
  }
}

相关推荐

  1. 鸿蒙(HarmonyOS)应用开发——web

    2024-04-22 10:58:04       64 阅读
  2. Harmonyos系统web使用

    2024-04-22 10:58:04       52 阅读
  3. 鸿蒙(HarmonyOS)应用开发——容器组件(List

    2024-04-22 10:58:04       66 阅读

最近更新

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

    2024-04-22 10:58:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 10:58:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 10:58:04       82 阅读
  4. Python语言-面向对象

    2024-04-22 10:58:04       91 阅读

热门阅读

  1. Dubbo源码解读-Consumer调用流程解析

    2024-04-22 10:58:04       31 阅读
  2. CSS 02

    CSS 02

    2024-04-22 10:58:04      34 阅读
  3. 面向初学者的网络安全(一)

    2024-04-22 10:58:04       28 阅读
  4. ARM Day8

    2024-04-22 10:58:04       30 阅读
  5. 开源OCR模型对比

    2024-04-22 10:58:04       34 阅读
  6. 营业执照OCR接口在电商行业中的具体应用

    2024-04-22 10:58:04       41 阅读
  7. C#队列(Queue)简单使用方法

    2024-04-22 10:58:04       37 阅读
  8. 勒索病毒防护

    2024-04-22 10:58:04       34 阅读
  9. spring事务失效场景

    2024-04-22 10:58:04       37 阅读