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

news2024/11/24 23:07:47

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})
    }
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1606379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker 启动时报错

docker 启动时报如下错误 Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details 因为安装docker时添加了镜像源 解决方案&#xff1a; mv /etc/…

windows部署pgsql

1、下载&#xff1a;Download PostgreSQL Binaries 2、创建data目录作为数据目录 3、初始化 bin目录执行命令&#xff1a; .\initdb.exe -D E:\pgsql\data -E UTF-8 --localechs -U postgres -W 输入密码直到完成 4、启动数据库 .\pg_ctl.exe -D E:\pgsql\data -l logfil…

【CTF-Crypto】数论基础-01

数论基础 【专题说明】本系列文章主要根据B站Up主Alice-Bob学习数论基础知识&#xff0c;通过该系列文章&#xff0c;你可以对一些网安信安考试内容有一定了解&#xff0c;同时对于CTF中密码学方向的赛题在数论部分有更深的理解&#xff0c;如有不当之处&#xff0c;师傅们及时…

华为手机无法弹出wifi上网认证页面处理

华为手机无法弹出wifi上网认证页面 连wifi后跳到上图界面卡住&#xff0c;不跳转到单位的上网认证界面。 打开手机的设置应用&#xff0c;点击上面的WLAN选项。 点击上面的更多WLAN设置选项。 关闭WLAN安全检测就可以正常弹出上网认证界面&#xff0c; 正常弹出上网认证界面&a…

web安全学习笔记(12)

记一下第十六节课的内容。 一、jQuery Ajax 我们要先下载jQuery。 首先我们转移到template目录下&#xff0c;准备把jQuery下载到这下面。 直接wget下来就可以了。 这样我们就下载好了jQuery&#xff0c;下面我们学习如何使用。 jQuery 调用 ajax 方法 格式&#xff1a;$.…

量子时代加密安全与区块链应用的未来

量子时代加密安全与区块链应用的未来 现代密码学仍然是一门相对年轻的学科&#xff0c;但其历史却显示了一种重要的模式。大多数的发展都是基于几年甚至几十年前的研究。而这种缓慢的发展速度也是有原因的&#xff0c;就像药物和疫苗在进入市场之前需要经过多年的严格测试一样&…

高通滤波器(理解高通滤波器为什么会把无像素变化区域设置为0)

为什么所有的高通滤波器会把图像的背景色设置为0&#xff1f; 首先根据公式4.9-1&#xff0c;低通滤波器的定义&#xff0c;超过某个频率是百分之百通过的&#xff0c;为1.所以这里的含义是低于某个频率就会百分之百为0&#xff0c;完全不通过&#xff0c;那么可以肯定在H(0,0…

3ds Max2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 3ds Max是一款基于PC系统的强大3D建模、渲染和制作软件&#xff0c;广泛应用于游戏开发、影视后期制作、建筑设计、工业设计等多个领域。其拥有丰富的建模工具&#xff0c;可轻松创建逼真的三维场景和模型&#xff1b;同时&#…

基于SpringBoot的“论坛管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“论坛管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 论坛管理系统结构图 前台首页功能界面图 用户登录…

【GDAL-Python】4-在Python中使用GDAL进行投影转换、影像重采样以及裁剪栅格数据

文章目录 1-介绍1.1 主要内容1.2 EPSG 2-代码实现2.1 数据介绍2.2 代码实现2.3 结果及效果显示 3.参考资料 1-介绍 1.1 主要内容 &#xff08;1&#xff09;在本教程中&#xff0c;将介绍如何在 Python 中使用 gdalwarp 将栅格数据重新投影到不同的坐标参考系&#xff0c;影像…

hexo实现个人博客及涉及的技术学习

一、背景 最近,一直想做一个属于自己的网站.可以从零开始搭建一个网站,顺便可以把日常中学到的技术用于实战,还可以顺便记录自己的所思所感,记录成长的过程. 方案 一开始的方案是从零开始,模仿常见个人博客的设计,基于vueSpringbootMySQL的去实现网站. 新建项目之后,发现vu…

OSPF星型拓扑和MGRE全连改

一&#xff0c;拓扑 二&#xff0c;要求 1&#xff0c;R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2&#xff0c;R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c; 3&#xff0c;R1为中心站点所有私有网段可以互相通讯&#xff0c;私有网段…

STM32之不使用MicroLIB

一、microlib介绍 microlib 是缺省 C 库的备选库,功能上不具备某些 ISO C 特性。 microlib 进行了高度优化以使代码变得很小,功能比缺省 C 库少,用于必须在极少量内存环境下运行的深层嵌入式应用程序。 二、不使用microlib的原因 由于microlib不支持C++开发,因此在使用C…

Hotcoin 热门资产上新速报:以太坊互操作性基础设施Omni Network(OMNI)

Hotcoin持续为全球600万用户发掘优质潜力资产&#xff0c;热门币种交易上热币。一文快速了解今日上新资产:Omni Network&#xff08;OMNI&#xff09; 推荐指数 8.4 交易对 OMNI/USDT 交易时间 4月17日 GMT8 20&#xff1a;30 资产赛道 Layer1 项目简介 Omni 是以太坊…

【canvas】canvas综合运用:心形图案

#简言 利用canvas画出心形图案。 心形 心形图案可以两个椭圆相交组合&#xff0c;也可以直接画路径实现。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conte…

(助力国赛)数学建模可视化!!!含代码1(折线图、地图(点)、地图(线)、地图(多边形)、地图(密度)、环形图、环形柱状图、局部放大图)

众所周知&#xff0c;数学建模的过程中&#xff0c;将复杂的数据和模型结果通过可视化图形呈现出来&#xff0c;不仅能够帮助我们更深入地理解问题&#xff0c;还能够有效地向评委展示我们的研究成果。   今天&#xff0c;作者将与大家分享8种强大的数学建模可视化图形及其在…

虚拟现实(VR)开发框架

虚拟现实&#xff08;VR&#xff09;开发框架为开发者提供了构建VR应用程序所需的基本工具和功能。它们通常包括3D引擎、场景图、输入系统、音频系统和网络功能。下面是一些流行的VR开发框架。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

深入探索:Facebook如何重塑社交互动

在当代社会中&#xff0c;社交互动已成为日常生活的核心组成部分。而在众多的社交媒体平台中&#xff0c;Facebook凭借其卓越的用户基础和创新的功能&#xff0c;已经成为了全球最大的社交媒体平台。本文将深入探讨Facebook如何通过其独特的特性和功能&#xff0c;重塑了人们的…

鸿蒙入门06-常见装饰器( 简单装饰器 )

装饰器是鸿蒙开发中非常重要的一个环节因为在很多地方我们都需要用到装饰器并且如果我们想高度的复用, 那么装饰器就是必不可少的一环接下来我们就来介绍一些常见的装饰器注意 : 所有装饰器首字母大写 Entry 用来装饰 struct 使用表示页面的入口 Component 装饰 struct, …

MySQL中如何随机获取一条记录

点击上方蓝字关注我 随机获取一条记录是在数据库查询中常见的需求&#xff0c;特别在需要展示随机内容或者随机推荐的场景下。在 MySQL 中&#xff0c;有多种方法可以实现随机获取一条记录&#xff0c;每种方法都有其适用的情况和性能特点。在本文中&#xff0c;我们将探讨几种…