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);
    }
相关推荐
WaywardOne16 小时前
Flutter面试事件队列,微任务队列以及事件循环相关问题及回答
flutter·面试
明君8799717 小时前
Flutter 包体积优化实战:从 175MB 到 105MB
flutter
zeqinjie20 小时前
Skills-Flutter 内测泄漏审核
前端·flutter·app
UnicornDev1 天前
【Flutter x HarmonyOS 6】魔方计时APP——记录页面的UI设计
flutter·ui·华为·harmonyos·鸿蒙
用户5052372099151 天前
Dart 3.x 完全指南:Records / Patterns / Class Modifiers(2026)
flutter
折翅鵬2 天前
Flutter Accordion 完全指南:从折叠面板入门到高级样式自定义
flutter
jiejiejiejie_2 天前
Flutter for OpenHarmony 渐变色UI设计实战:LinearGradient与RadialGradient深度应用
flutter·ui
xmdy58662 天前
Flutter+开源鸿蒙实战|城市共享驿站智能存取系统 Day1 项目初始化+架构分层+多端适配+全局状态基座
flutter·开源·harmonyos