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);
    }
相关推荐
Jolyne_17 小时前
flutter学习(一)环境搭建及基础速通
flutter
MonkeyKing715517 小时前
Flutter状态管理实战:全局、局部、页面状态拆分指南
前端·flutter
MonkeyKing715519 小时前
Flutter异步状态统一处理实战:告别混乱,优雅管理请求与加载
flutter
MonkeyKing715519 小时前
Flutter项目结构与模块化、组件化、插件化
flutter
UnicornDev1 天前
【Flutter x HarmonyOS 6】魔方计时APP——计时逻辑实现
flutter·华为·harmonyos·鸿蒙·鸿蒙系统
用户游民1 天前
Flutter Widget、Element、RenderObject 关联以及实现原理
flutter
用户95421573334851 天前
彻底告别 `.w/.h/.sp`!Flutter 屏幕适配的底层玩法,一次接入全局生效
flutter
liulian09161 天前
Flutter for OpenHarmony 跨平台开发:密码生成器功能实战指南
flutter
可有道理1 天前
Flutter 抽象类、接口与mixin
flutter
MonkeyKing71551 天前
Flutter路由高级管理实战:守卫、深链、多栈与Tab路由全解析
flutter