Flutter InAppWebView 路由导航处理

flutter InAppWebView路由导航处理,有以下两种处理方案:

  1. H5层控制路由,H5拥有自己的路由,当返回到跟路由root时,此时点击跟节点,通过jsbridge调用flutter提供的方法来关闭当前widget,flutter关闭方法如下:

    Dart 复制代码
    value.addJavaScriptHandler(
        handlerName: "closeInAppWebView",
        callback: (args) {
          //关闭当前widget  
          Navigator.pop(context);
        });
  2. flutter层控制路由,通过InAppWebViewController中canGoBack()判断是否可以返回,可以返回调用goBack(),否则关闭当前widget。代码如下:

    Dart 复制代码
    if (await inAppWebViewController!.canGoBack()) {
        //返回路由上一层
        inAppWebViewController!.goBack();
    } else {
        //关闭当前widget
        Navigator.pop(context);
    }
相关推荐
QQ34634815734 分钟前
Flutter_01 工具准备1
flutter
QQ3463481578 小时前
Flutter_02 工具准备2-2
flutter
淡写成灰9 小时前
造一个生产级 Flutter WebSocket 客户端:适配器模式 + 七大企业特性全解析
flutter
水云桐程序员11 小时前
Flutter与React Native的对比分析
flutter·react native·react.js
1001101_QIA11 小时前
android studio连接手机真机调试
flutter
莞凰1 天前
昇腾CANN的“传音入密“:hccl仓库探秘
flutter·ui·transformer
500841 天前
Conv + BN + ReLU 融合:省掉两次显存读写
flutter·架构·开源·wpf·音视频
500841 天前
把 FlashAttention 讲清楚
flutter·electron·wpf
song5011 天前
多卡训练加速:HCCL 集合通信实战
分布式·python·flutter·ci/cd·分类
风清云淡_A1 天前
【Flutter3.8x】flutter从入门到实战基础教程(一):新建一个flutter项目
flutter