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);
    }
相关推荐
用户2181697049302 小时前
Flutter 折叠组件 ExpansionTile ExpansionPanelList
flutter
不羁的木木1 天前
给鸿蒙 App 增加用系统应用打开文件的能力 —— open_app_file 的鸿蒙使用指南
flutter·harmonyos
HouWan1 天前
Flutter: MediaQuery.of(context) 为什么可能拖慢页面?
android·flutter·ios
西西学代码1 天前
flutter---井字游戏
flutter
tushanxing1 天前
Day 2: 容器与单子布局基础
flutter
程序员老刘2 天前
跨平台开发地图 | 2026年9月
flutter·客户端
HouWan2 天前
Flutter iOS UISceneDelegate 迁移指南:理清新的 Scene 生命周期
flutter·ios·app
技术任我行XTing2 天前
【DFX系列】Flutter 鸿蒙应用外接纹理介绍及问题定位
flutter·harmonyos
恋猫de小郭2 天前
Flutter GSoC 2026 提案进度解读,补上 DevTools、FFI 和原生平台的关键缺口
android·前端·flutter