Flutter webview 不显示我网站上的内容

Posted

技术标签:

【中文标题】Flutter webview 不显示我网站上的内容【英文标题】:Flutter webivew not showing content from my site 【发布时间】:2021-10-21 23:03:40 【问题描述】:

我正在尝试在我的 Flutter 应用程序中加载我的网站内容。

我有一个链接https://dev.demo.hello.example.com/id/4

我尝试使用flutter_webview_pluginwebview_flutter 两个插件,但在这两个插件上我都遇到以下错误:

WF: === Starting WebFilter logging for process Runner
WF: _userSettingsForUser mobile: 
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;

WF: _WebFilterIsActive returning: NO

我也试过在 info.plist 中提到 ATS 相关的东西

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

但仍然面临同样的问题。我的链接中有 https。

有什么解决办法吗?

【问题讨论】:

同样的问题,你找到解决办法了吗? 【参考方案1】:

在我的例子中,我设置了一个 navigationDelegate 来阻止所有进一步的导航:

WebView(
  initialUrl: url,
  javascriptMode: JavascriptMode.unrestricted,
  navigationDelegate: (navigation) => navigation.url == url ? NavigationDecision.navigate : NavigationDecision.prevent,
),

它在 android 上运行良好,加载了 initialUrl,并且阻止了任何进一步的导航。

但在 ios 上,我不得不更改此代码,因为它甚至会阻塞 initialUrl:

WebView(
  initialUrl: url,
  javascriptMode: JavascriptMode.unrestricted,
  navigationDelegate: (navigation) => navigation.url == url ? NavigationDecision.navigate : NavigationDecision.prevent,
),

【讨论】:

以上是关于Flutter webview 不显示我网站上的内容的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:如何在 webview 中阻止全屏视频?

Flutter:如何在运行 JavaScript 函数并显示 html 后等待 WebView 完成加载?

按下设备后退按钮上的 Flutter WebView 异常

如何在 Flutter 应用中添加桌面版网站?

flutter_webview_plugin 包的 clearCache 不起作用

颤振flutter_webview_plugin错误[NSNull长度]:无法识别的选择器发送到ios上的实例