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);
    }
相关推荐
传奇开心果编程13 小时前
【现代声明式UI学与练】第4课 列表渲染与 key——如何高效渲染列表、key 的作用、列表重排时的状态保持
学习·flutter·react native·ui·swiftui·android jetpack
m0_7381858216 小时前
Flutter 鸿蒙化实战:media_info 适配 OpenHarmony,媒体信息与缩略图
flutter·华为·harmonyos·鸿蒙·媒体
m0_7381858217 小时前
Flutter 鸿蒙化实战:just_audio 适配 OpenHarmony,功能强大的播放器
flutter·华为·harmonyos·鸿蒙
传奇开心果编程1 天前
【现代声明式UI学与练】第7课 组件通信——父传子、子传父、跨层级通信、状态提升与 Context
学习·flutter·react native·ui·swiftui·android jetpack
律宏阔1 天前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
律宏阔1 天前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
伯伯熊勞1 天前
GetX 巢狀路由教學:用三層 Navigator 做桌面多欄佈局
flutter
传奇开心果编程2 天前
【现代声明式UI学与练】第9课 性能优化——渲染优化、列表优化、内存优化、启动优化
学习·flutter·react native·ui·性能优化·swiftui·android jetpack
m0_738185822 天前
Flutter 鸿蒙化实战:foundation_fluttify 适配 OpenHarmony,Fluttify 桥接层
flutter·华为·harmonyos·鸿蒙
m0_738185822 天前
Flutter 鸿蒙化实战:http_proxy 适配 OpenHarmony,HTTP 代理
flutter·http·华为·harmonyos·鸿蒙