zoukankan      html  css  js  c++  java
  • Flutter-WebView使用h5

    webview可以跳轉到h5,可以也可以自定義

    #flutter官方webview
    webview_flutter: ^0.3.10
     ///初始化webview显示
      Widget _showWebView(BuildContext context) {
        return WebView(
          initialUrl: widget.url,///初始化url
          javascriptMode: JavascriptMode.unrestricted,///JS执行模式
          onWebViewCreated: (WebViewController webViewController) {///在WebView创建完成后调用,只会被调用一次
            //
            //
            _controller.complete(webViewController);
          },
          javascriptChannels: <JavascriptChannel>[///JS和Flutter通信的Channel;
            _alertJavascriptChannel(context),
          ].toSet(),
          navigationDelegate: (NavigationRequest request) {//路由委托(可以通过在此处拦截url实现JS调用Flutter部分);
            ///通过拦截url来实现js与flutter交互
            if (request.url.startsWith('js://webview')) {
              Fluttertoast.showToast(msg:'JS调用了Flutter By navigationDelegate');
              print('blocking navigation to $request}');
              return NavigationDecision.prevent;///阻止路由替换,不能跳转,因为这是js交互给我们发送的消息
            }
    
            return NavigationDecision.navigate;///允许路由替换
          },
          onPageFinished: (String url) {///页面加载完成回调
            setState(() {
              _loading = false;
            });
            print('Page finished loading: $url');
          },
    
        );
      }

    更詳細的使用方法請訪問pub.dev

  • 相关阅读:
    Nginx作为缓存服务
    Nginx作为代理服务
    ZipUtils zip压缩实现
    getman九桃小说解析油猴脚本
    maven添加代理加速jar包下载
    ffmpeg MP3 flv 视频转mp3
    ActiveMQ配置用户认证信息
    JS实现HTML标签转义及反转义
    删除registry镜像数据,以centos为例
    启动一个带登录账号密码的registry容器
  • 原文地址:https://www.cnblogs.com/ssjf/p/12981502.html
Copyright © 2011-2022 走看看