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);
    }
相关推荐
GitLqr11 小时前
从代码复用走向生态:Flutter Dart Package 实战全指南
flutter·全栈·dart
SoaringHeart12 小时前
Flutter 进阶:NCanvasImageLoader 让 Canvas 也能画网络图
前端·flutter
磐链科技14 小时前
钱包开发中的跨平台架构:Flutter与Rust构建高性能移动端钱包
flutter·架构·rust
iFlyCai17 小时前
深入理解Flutter:StatefulWidget生命周期全解析(四)
前端·javascript·flutter
iFlyCai17 小时前
Flutter setState 完全解析:原理、更新机制、误区与
flutter
恋猫de小郭1 天前
Firebase 如何让全球 Android 和 Flutter 开发者集体 Build Fail
android·前端·flutter
恋猫de小郭2 天前
Flutter 多窗口支持类型和 API 介绍
android·前端·flutter
张风捷特烈2 天前
当 AI 遇见 Flutter | 打造 500+ Widget 专属Logo
android·前端·flutter
kayyoo2 天前
Flutter的第一个Demo和Bug
flutter
iFlyCai2 天前
Flutter三棵树核心详解之Element树完全解析(一)
flutter