问题标签 [webview-flutter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
723 浏览

flutter - Flutter WebView中关闭小米MIUI深色模式

我正在使用webview_flutter插件,当 webview 在暗模式设备上的任何小米上打开时,它会强制暗模式,我不知道如何避免它

这是我的代码:

如果在颤动中无法防止,有没有办法在 webview 页面中防止?

它会像这样更改背景和文本颜色:

普通的

小米暗模式设备

WebView 测试页代码:

0 投票
1 回答
17 浏览

storage - 播放位于从 webview_flutter 加载的 html 页面链接的 ApplicationSupportDirectory(非资产目录)中的 mp3 文件

我有大量 mp3 文件 (+3GB) 需要包含在我为 Android 和 iOS 编写的应用程序中,以便离线使用。由于 Google Play Bundle 不能大于 2GB,自然我需要在初始应用程序运行时将这些 mp3 文件下载到本地目录。我已经编写了一个 html 网页,其中包含选择和播放具有同步屏幕文本和背景的 mp3 文件所需的所有功能。我还成功地使用 webview_flutter 离线加载和测试了我的网页,在资产目录中加载了一组有限的 mp3 文件。现在我需要包含所有 +3GB 的 mp3 文件,所以我已将它们下载到 ApplicationSupportDirectory,但似乎 webview_flutter 无法播放此目录中的 mp3 文件。我尝试将它们放在 ApplicationSupportDirectory 中,ApplicationDocumentsDirectory 或 ExternalStorageDirectory,但它们都不能从 webview_flutter 的页面访问。我还尝试将我的 index.html 加载到这些非资产目录中,但即使使用 Permission.storage.request() 并且在 manifest.xml 中声明了 READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE、INTERNET 的权限,也会出现文件权限错误。现在用完了选项,您知道是否可以从 webview_flutter 中加载的网页链接非资产文件?加载字符串到 webview 方法可能不起作用,因为我在页面中链接了音频和 javascript。希望你们中的一些人能给我指明一个方向。先感谢您。html 进入这些非资产目录,但即使使用 Permission.storage.request() 并在 manifest.xml 中声明了 READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE、INTERNET 的权限,也会出现文件权限错误。现在用完了选项,您知道是否可以从 webview_flutter 中加载的网页链接非资产文件?加载字符串到 webview 方法可能不起作用,因为我在页面中链接了音频和 javascript。希望你们中的一些人能给我指明一个方向。先感谢您。html 进入这些非资产目录,但即使使用 Permission.storage.request() 并在 manifest.xml 中声明了 READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE、INTERNET 的权限,也会出现文件权限错误。现在用完了选项,您知道是否可以从 webview_flutter 中加载的网页链接非资产文件?加载字符串到 webview 方法可能不起作用,因为我在页面中链接了音频和 javascript。希望你们中的一些人能给我指明一个方向。先感谢您。你知道是否可以从 webview_flutter 中加载的网页链接非资产文件?加载字符串到 webview 方法可能不起作用,因为我在页面中链接了音频和 javascript。希望你们中的一些人能给我指明一个方向。先感谢您。你知道是否可以从 webview_flutter 中加载的网页链接非资产文件?加载字符串到 webview 方法可能不起作用,因为我在页面中链接了音频和 javascript。希望你们中的一些人能给我指明一个方向。先感谢您。

0 投票
0 回答
117 浏览

flutter - 为什么 PWA 缓存在 webview_flutter 上不起作用

我有一个 PWA 网站,但我希望它在移动应用程序上,以便我可以将它添加到 Play 商店,但是在 webview 颤振中使用它时,网页没有被缓存,它显示“页面无法访问”而没有互联网连接。

当我第一次打开它时它工作得很好,但是如果我关闭应用程序然后在没有互联网连接的情况下重新启动它,那就是它不起作用

注意:这是一个已经上线的项目,正在生产中,一切都可以在常规浏览器上正常运行,包括在 android 和 iOS 上的安装

0 投票
3 回答
555 浏览

flutter - 无法在 webview 中显示本地存储中的 html 文件

我有一个 Flutter 项目,我在其中:

  • 下载 zip 文件(完整的 html 文件)
  • 将 html 文件提取到新目录 (ebooks/02)
  • 将本地文件 url 保存在列表中
  • 在 Webview 中显示 url 并通过 List 来回迭代。

但是,在网络视图中,我得到的只是“无法加载资产......”

在此处输入图像描述

尽管任何标准的 http url 在 webview 中都可以正常工作。

我尝试了这两个答案,但没有结果:Answer1 & Answer2

我得到的例外是:

E/flutter(10963):[错误:flutter/lib/ui/ui_dart_state.cc(186)]未处理的异常:无法加载资产:/data/user/0/com.pts.school_ebook_reader_app_prag/app_flutter/ebooks/04/ 00.html

我需要了解如何在 webview 中显示给定路径的本地 html。

任何帮助,将不胜感激。

编辑:

webview 代码(当前尝试仅显示列表中的第一个 url):

添加文件的代码:

以及打印 UserData.ebook 的结果:

检查:

结果:

0 投票
0 回答
378 浏览

android - Flutter 无法使用 webview 显示本地文件

我正在尝试使用 webview 显示本地文件(如果有其他选项,欢迎使用,但我试图显示的不仅仅是 pdf。我想显示 pdf、xlsx、docx)。

我正在提供带有 url 的 url file://...,首先它给了我使用flutter_webview_pluginwebview_flutter插件的访问被拒绝错误。然后我编辑了两个插件的源代码,并setAllowFileAccessFromFileURLs根据参考配置为 true,但这次它只向我显示白色空白页。并且控制台中有奇怪的警告(甚至在我编辑源代码之前就显示了这个警告。)

警告:

W/m.packagename(31636): Couldn't lock the profile file /data/user/0/packagename/app_tbs_64/core_share/oat/tbs_sdk_extension_dex.jar.cur.prof: Failed to open file '/data/user/0/packagename/app_tbs_64/core_share/oat/tbs_sdk_extension_dex.jar.cur.prof': No such file or directory W/m.gekapp.gekap(31636): Could not forcefully load profile /data/user/0/packagename/app_tbs_64/core_share/oat/tbs_sdk_extension_dex.jar.cur.prof

我在手机上使用 Android 11,我认为这可能是问题所在。(在iOS上没有问题我可以使用显示文件file://...

flutter doctor --verbose

0 投票
0 回答
192 浏览

android - webview_flutter 中的错误 net::ERR_CLEARTEXT_NOT_PERMITTED,如何解决?

我在 android 10 的 webview_flutter 中遇到了这个 net::ERR_CLEARTEXT_NOT_PERMITTED ,Android版本 10 中的错误截图,但这个错误在 Android 8 或更低版本中没有出现。

我尝试添加

我提到了这个来解决这个错误,但仍然没有奏效。我错过了什么吗?

0 投票
0 回答
213 浏览

android - 无效的 depfile:kernel_snapshot.d

我在构建我的应用程序时遇到问题,它一直给我这个Invalid depfile: C:\Users\kg3bo\AndroidStudioProjects\pomastore\.dart_tool\flutter_build\f3e5966fddb8025853f2e4961407d23d\kernel_snapshot.d我尝试使用的错误flutter pub getflutter pub upgrade并删除 kernel_snapshot.d 然后用于flutter pub get重新生成它,但它没有工作。这是我的完整代码:

pubspec.yaml:

主要飞镖:

构建后的输出:

0 投票
0 回答
237 浏览

flutter - A way to define origin for a Flutter WebView object to make http/https calls

please help!

I'm trying to integrate Braintree - in particular, their Drop-In. they have it inly in JS - here is a sample code:

And normally it gives me - Failed to execute 'postMessage' on 'Window': Invalid target origin 'null' in a call to 'postMessage' So after certain investigations it turns that if i serve this code from a local http server - it works. Thus, it provides some non-null origin.

Then i even tried to run a simple fetch like:

And i got this - Access to fetch at 'http://example.com/movies.json' from origin 'null' has been blocked by CORS policy Apparently there is something with the set-up of my WebView:

content variable here is the html page from above loaded as string.

My flutter doctor -v is:

So is there any way so that in a WebView or via html file i can define the origin working from local?

Thank you so much in advance!

0 投票
0 回答
119 浏览

flutter - 在 webview_flutter 中导航时如何防止深度链接/单链接

我在我的应用程序中使用 webview_flutter 依赖项。我在 StatefullWidget 的 webview_flutter 中加载了一个 url,用户可以在这个网页中导航,但是如果安装了他们的应用程序,一些链接会打开他们的本机应用程序。但我不想允许这种情况。我想“用户必须始终在我的 webview 中导航,我不想允许跳转到另一个应用程序。如何防止 webview_flutter 中的深度链接或通用链接导航

0 投票
0 回答
16 浏览

flutter - 无法在本地创建的 html 文件上加载资产

我正在创建一个 html 文件并将其文件路径提供给webview_flutter插件以显示社交嵌入,例如 twitter、youtube 等。

我已经在更多的项目中使用了这个逻辑,但是我无法在一些旧的 Android 版本上加载资产错误。例如,它在 Android 10、11 上完美运行,但在 Android 8 上出现错误。

这是一个遗留项目,我不确定为什么两个操作系统之间的逻辑不同是不同的