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);
    }
相关推荐
coder_pig15 小时前
🤡 公司Android老项目升级踩坑小记
android·flutter·gradle
w_y_fan19 小时前
双token机制:flutter_secure_storage 实现加密存储
前端·flutter
dragon7251 天前
关于image组件设置宽高不生效问题的探究
flutter
会煮咖啡的猫1 天前
Flutter 是否需要 UI 组件库?
flutter
眼镜会飞1 天前
Flutter 3.x新版android端的build.gradle.kts文件配置arm64-v8a和armeabi-v7a等
android·前端·flutter
恋猫de小郭1 天前
Flutter 小技巧之有趣的 UI 骨架屏框架 skeletonizer
android·前端·flutter
一狐九1 天前
Flutter如何通过GlobalKey调用组件内的方法
前端·flutter
张风捷特烈1 天前
鸿蒙纪·Flutter卷#03 | 从配置证书到打包发布
android·flutter·harmonyos
RaidenLiu2 天前
从 Provider 迈向 Riverpod 3:核心架构与迁移指南
前端·flutter
叽哥2 天前
Flutter面试:Dart基础2
flutter·面试·dart