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);
    }
相关推荐
想你依然心痛1 小时前
【共创季稿事节】HarmonyOS 7.0 应用框架(ArkUI-X)跨平台能力深度探索
flutter·react native·arkui-x·跨平台渲染·harmonyos 7.0·arkrender·组件兼容性
SoaringHeart5 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
心中有国也有家6 小时前
AtomGit Flutter 鸿蒙客户端:Canvas 绘制进阶-路径、渐变与混合模式
android·javascript·flutter·华为·harmonyos
程序员老刘7 小时前
Android 17的10个AI功能,国内用户真正能用的有几个?
android·flutter·ai编程
浮洋11 小时前
HabitGo:一个 Flutter 习惯追踪 App 的深度技术剖析
flutter
西西学代码11 小时前
Flutter---RefreshIndicator案例
flutter
西西学代码12 小时前
Flutter---RefreshIndicator
flutter
末代iOS程序员华仔12 小时前
从 Figma 到上架:使用 Codex 与 MCP 全流程实现 AI 聊天 App
flutter·ios·swift
西西学代码13 小时前
Flutter---StreamBuilder案例
javascript·windows·flutter
子非鱼942715 小时前
03-Flutter 鸿蒙实战 03:登录注册与本地会话持久化
网络·flutter·华为·harmonyos