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);
    }
相关推荐
世人万千丶5 小时前
鸿蒙Flutter TextStyle样式配置
学习·flutter·harmonyos·鸿蒙
nice先生的狂想曲8 小时前
flutter中key的使用
flutter·客户端
常在士心11 小时前
Flutter Dio高阶封装&多级缓存策略
flutter
司素网12 小时前
Flutter Platform Channel 的 await 陷阱:为什么加与不加相差 100ms?
flutter
zengorange13 小时前
Dart语言
学习·flutter
YM52e15 小时前
鸿蒙Flutter Stack堆叠布局:实现多层级界面
学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
帅次15 小时前
Android 高级工程师面试:Flutter 渲染与性能 近1年高频追问 20 题
android·flutter·面试·渲染·性能
世人万千丶15 小时前
鸿蒙Flutter Icon与IconButton
flutter·华为·harmonyos·鸿蒙
程序员老刘16 小时前
跨平台开发地图 | 2026年7月
flutter·ai编程·客户端
世人万千丶16 小时前
Flutter 鸿蒙Text组件详解
flutter·华为·harmonyos·鸿蒙·鸿蒙系统