flutter WebView:Mixed Content: The page was loaded over HTTPS, but requested an insecure script

在flutter开发中,有遇到,网页是https的,上边的图片是http加载的,而且网页还是第三方的无法更改,需要我们修改下Android 的桥接文件,但是这样只能解决当前的问题,如果缓存文件被清掉了或者换机器了,有需要改这个东西,目前官方也没有这个属性,所以也很无奈

第一种方式:

第一步,需要确定你当前webview_flutter的版本,去pubspec.lock文件搜索flutter_webview 会看到

webview_flutter_android 找到这个版本

第二部去本地硬盘找到缓存文件,我的盘示例

新版本 文件叫WebSettingsHostApiImpl这个,不是之前网上说的FlutterWebView


C:\Users\用户\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\webview_flutter_android-2.10.4\android\src\main\java\io\flutter\plugins\webviewflutter\WebSettingsHostApiImpl.java

第三步找到这个文件打开,添加下图这段代码

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
       webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }

 亲测有效,希望能帮助到你

第二种方式:

还有另外一种方式就是将 webview_flutter  webview_flutter_android  webview_flutter_wkwebview

这三个库下载到本地,使用本地依赖得方式导入

./就是项目得根目录下边,如果有下一级文件就是../呗,这个是在项目下边的pubspec.yaml依赖哦

然后再找到webview_flutter这个下边的pubspec.yaml添加那两个本地依赖

 

然后再去改下这个文件

 

 

大概就是这样了,这样就不会缓存清空他就没了,我也是试了可以使用

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我想吃辣条

觉得不错,就可怜可怜博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值