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);
    }
相关推荐
君赏7 小时前
棉宇宙 Flutter 热更新是如何落地的
flutter
恋猫de小郭9 小时前
AndroidX 新增 Security State ,支持可编程的系统安全状态查询
android·前端·flutter
zihan5189 小时前
自己做软件日记9/21 得到了一个良好的文件结构框架
后端·flutter·前端框架·android studio
ZFJ_张福杰1 天前
【Flutter】Flutter 中有哪些耗时操作?从 UI 卡顿到 Isolate 性能优化
flutter·性能优化·卡顿·isolate
sakiko_1 天前
Flutter:Dart学习笔记1:基础UI组件等
flutter
9765033351 天前
iOS 上架 4.3a 被拒【uniapp专讲】
flutter·ios·objective-c·uniapp·swift
传奇开心果编程2 天前
【Flutter入门练中学】第2课:布局系统
学习·flutter·ui
君赏2 天前
FlutterPatch:把 Shorebird 热更新的控制面搬回自己服务器
flutter
用户2181697049302 天前
Flutter tootip 轻量级提示
flutter
用户2181697049302 天前
Flutter 拖拽 Draggable DragTarget
flutter