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

flutter_inappwebview 6.0.0网页无法加载问题求助

flutter_inappwebview 6.0.0 网页无法加载排查方案

以下是几个常见的排查方向和解决办法,针对你提供的代码逐一验证:

1. 确认网络权限配置

  • Android端:打开android/app/src/main/AndroidManifest.xml,确保根节点下存在以下权限声明:
    <uses-permission android:name="android.permission.INTERNET"/>
    
    没有的话添加进去,重新编译运行。
  • iOS端:默认HTTPS请求是允许的,若设备有特殊网络配置,可检查ios/Runner/Info.plist中是否存在NSAppTransportSecurity相关限制,调整或移除不必要的ATS规则。

2. 添加错误监听定位问题

在InAppWebView中加入加载错误和控制台消息回调,打印具体错误信息快速定位根源:

body: InAppWebView(
  initialUrlRequest: URLRequest(
    url: WebUri("https://www.google.com"),
  ),
  onWebViewCreated: (controller) {
    webViewController = controller;
  },
  // 加载错误监听
  onLoadError: (controller, url, code, message) {
    print("网页加载错误: 错误码$code - $message");
  },
  // 控制台输出监听
  onConsoleMessage: (controller, consoleMessage) {
    print("WebView控制台: ${consoleMessage.message}");
  },
),

运行后查看终端日志,根据错误信息进一步处理。

3. 配置WebView基础运行参数

部分现代网页依赖JavaScript或DOM存储,默认配置可能未开启这些选项,手动添加初始化设置:

body: InAppWebView(
  initialUrlRequest: URLRequest(
    url: WebUri("https://www.google.com"),
  ),
  initialSettings: InAppWebViewSettings(
    javaScriptEnabled: true, // 启用JavaScript
    domStorageEnabled: true, // 启用DOM存储
    useOnLoadResource: true,
  ),
  onWebViewCreated: (controller) {
    webViewController = controller;
  },
  onLoadError: (controller, url, code, message) {
    print("网页加载错误: 错误码$code - $message");
  },
),

4. 排查设备网络环境

  • 用设备自带浏览器打开https://www.google.com,确认网络能正常访问目标网址;
  • 模拟器检查网络连接是否正常,真机确认WiFi/蜂窝网络无代理、VPN等限制。

5. 清理缓存重试

调用WebView的缓存清理方法,或直接卸载应用重新安装,避免旧缓存干扰:

onWebViewCreated: (controller) {
  webViewController = controller;
  controller.clearCache();
},

内容的提问来源于stack exchange,提问作者YASSIN.049

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:53:11