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);
    }
相关推荐
Lanren的编程日记3 小时前
Flutter鸿蒙应用开发:生物识别(指纹/面容)功能集成实战
flutter·华为·harmonyos
Lanren的编程日记6 小时前
Flutter鸿蒙应用开发:基础UI组件库设计与实现实战
flutter·ui·harmonyos
西西学代码7 小时前
Flutter---波形动画
flutter
于慨10 小时前
flutter基础组件用法
开发语言·javascript·flutter
恋猫de小郭12 小时前
Android CLI ,谷歌为 Android 开发者专研的 AI Agent,提速三倍
android·前端·flutter
火柴就是我13 小时前
flutter pushAndRemoveUntil 的一次小疑惑
flutter
于慨13 小时前
flutter doctor问题解决
flutter
唔6614 小时前
flutter 图片加载类 图片的安全使用
安全·flutter
Nathan2024061615 小时前
Flutter - InheritedWidget
flutter·dart
恋猫de小郭15 小时前
JetBrains Amper 0.10 ,期待它未来替代 Gradle
android·前端·flutter