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);
    }
相关推荐
yuanlaile3 小时前
用Flutter几年了,Flutter每个版本有什么区别?
flutter
盛溪的猫猫3 小时前
如何配置flutter(超详细的哦)
flutter
SoaringHeart1 天前
Flutter 进阶/最佳实践:自定义 Flutter 路由堆栈监听
前端·flutter
m0_719414562 天前
【Vue.js基础】
前端·vue.js·flutter
明似水2 天前
确保 App 跟踪透明度权限:Flutter 中的实践
flutter
AiFlutter2 天前
Flutter屏幕适配
前端·javascript·flutter
数星星的磊3 天前
Flutter 进阶:实现雪花下落动画效果
flutter
Python私教3 天前
macos搭建flutter开发环境 3.24.3版本 2024年9月25日实测部署
flutter·macos