You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

webview_flutter: ^4.2.1 Android端WebView内链接跳转失效求助

解决webview_flutter 4.2.1 Android端内部链接跳转失效问题

针对你遇到的Android端WebView内部链接跳转失效、iOS正常的情况,可通过以下方式修复:

  • 拦截新窗口请求
    Android端WebView默认不会处理target="_blank"这类新窗口跳转请求,需要在NavigationDelegate中添加onCreateWindow回调,强制用当前WebView加载目标链接:
controller.setNavigationDelegate(NavigationDelegate(
  onPageStarted: (String url) {
    print('url loading : $url');
    BlocProvider.of<BrokerDashboardBloc>(context)
        .add(OnUrlLoadStartEvent());
  },
  onWebResourceError: (WebResourceError error) {
    print("error : ${error.description}");
  },
  onPageFinished: (String url) {
    BlocProvider.of<BrokerDashboardBloc>(context).add(OnUrlLoadEndEvent());
  },
  onNavigationRequest: (NavigationRequest request) {
    return NavigationDecision.navigate;
  },
  // 添加这个回调处理新窗口跳转
  onCreateWindow: (CreateWindowRequest request) async {
    await controller.loadRequest(Uri.parse(request.url));
    return true;
  },
  onUrlChange: (UrlChange change) {},
));
  • 验证网页链接属性
    检查网页内的链接是否带有target="_blank"属性,这类链接在Android端会触发新窗口请求,必须通过上述回调拦截处理才能实现内部跳转。

内容的提问来源于stack exchange,提问作者Navjot Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:03:13