首页 > 其他分享 >flutter 嵌套web网页

flutter 嵌套web网页

时间:2024-03-20 11:23:53浏览次数:22  
标签:web widget width webViewController weburl height 嵌套 WebView flutter

添加依赖

flutter_inappwebview: ^6.0.0 #嵌套网页

代码

class PictureWebUrl extends StatefulWidget {
  final String weburl;

  PictureWebUrl({Key? key, required this.weburl}) : super(key: key);

  @override
  State<PictureWebUrl> createState() => _PictureWebUrlState();
}

class _PictureWebUrlState extends State<PictureWebUrl> {
  late InAppWebViewController _webViewController;  //声明 InAppWebViewController 控制器

  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
      builder: (BuildContext context, BoxConstraints constraints) {
        double width = constraints.maxWidth;
        double height = constraints.maxHeight;

        return SizedBox(
          width: width,
          height: height,
          child: Center(
            child: Container(
              margin: EdgeInsets.fromLTRB(width / 9, height / 25, 0, 0),
              child: InAppWebView(
                initialUrlRequest: URLRequest(
                  url: WebUri(Uri.parse("${widget.weburl}").toString()),
                  // url: Uri.parse(widget.weburl),
                ),
                //onWebViewCreated 的作用就是在 WebView 创建完成后,提供一个机会让开发者执行一些初始化操作,
               // 同时获取 WebView 的控制器,以便后续对 WebView 进行操作
                onWebViewCreated: (controller) {   
                  _webViewController = controller;  // 当 WebView 创建完成时,将控制器赋值
                },
              ),
            ),
          ),
        );
      },
    );
  }

  @override
  void didUpdateWidget(covariant PictureWebUrl oldWidget) {
    super.didUpdateWidget(oldWidget);
    if (widget.weburl != oldWidget.weburl) {
      if (_webViewController != null) {
        _webViewController.loadUrl(
            urlRequest: URLRequest(
          url: WebUri(Uri.parse("${widget.weburl}").toString()),
        ));
      }
    }
  }
}

 

标签:web,widget,width,webViewController,weburl,height,嵌套,WebView,flutter
From: https://www.cnblogs.com/xbinbin/p/18083715

相关文章

  • webui自动化框架-playwright
    playwright中文文档Playwright为现代web应用提供了跨浏览器、快速且可靠的端到端的测试能力。|Playwright中文文档|Playwright中文网(bootcss.com)playwright安装pipinstallplaywrightplaywright-浏览器安装playwright的nohead模式需要在本地安装浏览器的内核pl......
  • | [0/8] Installing [email protected][npminstall:get] retry GET https://registry.npm.tao
    昨天用开源项目UIRecorder初始化时报错,查看日志发现是淘宝的源证书过期,如下:PSE:\20231213\uirecorder\uirecorder_test>PSE:\20231213\uirecorder\uirecorder_test>uirecorderinit____________......
  • ssts-hospital-web-master项目实战记录五十:项目迁移-页面模块实现(主框架-文件结构)
    记录时间:2024-03-20文件结构 翻译搜索复制......
  • ssts-hospital-web-master项目实战记录四十九:项目迁移-业务模块实现(静态资源-文件结构
    记录时间:2024-03-20文件结构 翻译搜索复制......
  • 为什么面试官都爱问websocket?
    什么是webSocket?WebSocket是一种在单个TCP连接上进行全双工通信的应用层协议,它弥补HTTP协议在持久通信能力上的不足,允许服务器主动向客户端推送数据,并且简化了客户端和服务器之间的数据交换。在WebSocket通讯中,浏览器和服务器只需完成一次握手,便可创建持久性连接。Web......
  • JSON Web Token 入门教程
    本文收录于Github.com/niumoo/JavaNotes,Java系列文档,数据结构与算法!本文收录于网站:https://www.wdbyte.com/,我的公众号:程序猿阿朗JSONWebToken(JWT)是一种可以在多方之间安全共享数据的开放标准,JWT数据经过编码和数字签名生成,可以确保其真实性,也因此JWT通常用于身份认证......
  • websocket相关
    一、websocket相关的计网知识点1.全双工,半双工,单工分别是什么意思它们三个其实指的是都是一种通信模式,是一个抽象概念,单工指的是信息是单通道单向的,信息只能从A传达到B,但是不能由B传达到A。比如广播站和收音机,收音机只能单方面接受广播站的信息。半双工则是单通道双向的,信息可以从......
  • Solon Web 文件上传的最佳实践
    文件上传是Web开发中最常见的一个应用场景。一般在处理数据时,会有两种常见的方案:直接把文件流放在内存里,或者把文件流先缓冲到磁盘。1、如果是高频且文件极小使用纯内存模式,默认即可。如果高频小文件,是不适合用“临时文件模式”的,磁盘可能容易刷坏。只能多配些内存!2、如果是......
  • buuctf web做题记录 基础sql注入
    buuctf做题记录[SUCTF2019]EasySQL1先考虑堆叠查询1;showdatabases;Array([0]=>1)Array([0]=>ctf)Array([0]=>ctftraining)Array([0]=>information_schema)Array([0]=>mysql)Array([0]=>performance_schema)Array([0]......
  • HTML期末大作业~HTML眼镜网站~Web大学生网页成品-s08
    HTML期末大作业~学生HTML个人网页作业作品下载个人主页博客网页设计制作大学生个人网站作业模板简单个人网页制作,HTML网页设计结课作业↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓http://imianba.cn/#/articles?category=1&theme=0↑↑↑↑↑↑......