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);
    }
相关推荐
木子雨廷15 小时前
Flutter 使用 flutter_flavorizr 多渠道打包
前端·flutter
G_dou_16 小时前
# Flutter+OpenHarmony 实战:note_app 笔记应用
flutter·harmonyos
西西学代码17 小时前
Flutter---侧边栏会话列表
flutter
G_dou_17 小时前
Flutter+OpenHarmony实战:Calculator 计算器项目
flutter
小小小小小鹿17 小时前
# Vibe Coding 实战:Flutter 滑动列表上的花式动效
flutter·vibecoding
西西学代码17 小时前
Flutter---登录弹窗
flutter
G_dou_17 小时前
# Flutter+OpenHarmony 实战:ToDo待办清单
flutter·harmonyos
不爱吃糖的程序媛1 天前
Flutter 三方库适配鸿蒙教程
flutter·华为·harmonyos
2501_919749031 天前
鸿蒙 Flutter 实战:video_compress 3.1.4 适配 3.27-ohos 全流程
flutter·华为·harmonyos