重要提示-我只想为移动应用程序提供此功能,而不是flutter web。
我在flutter应用程序中保存网站时遇到了一些麻烦。我已经尝试使用inappwebview的cache方法和savewebarchive方法。这种方法的问题是它没有保存网站的全部内容。它只保存HTML和CSS文件。
我想保存整个网站的所有内容,如HTML,CSS,js,字体文件,图片,并将其存储在颤动应用程序中。我试过一些插件,但没有一个是有帮助的。
我正在寻找与httrack相同的功能。
任何正确的方向都是正确的。
发布于 2021-10-28 22:19:08
下面是您想要的offline Pop, Pop, Win! game.示例
支持离线模式的
要求大致如下:
要执行上述步骤,您将需要此包Progressive Web App (PWA) for Dart
应用程序中的更改在pubspec.yaml中导入pwa包
dependencies:
pwa: ^0.1.2运行pub get后,将客户端添加到您的web/main.dart
import ‘package:pwa/client.dart’ as pwa;
main() {
// register PWA ServiceWorker for offline caching.
new pwa.Client();
}自动生成的渐进式web应用程序 pwa包提供了处理上述列表中的1-2和4-5项的代码生成。要确保正确使用缓存(填充缓存和使缓存无效),请使用以下工作流:
使用build/web中的所有静态资源构建web应用程序的
pub build
pwa的代码生成器来扫描(或重新扫描)您的脱机资产:pub run pwa
pwa.dart文件:pub build
这些步骤会生成一个名为lib/pwa/offline_urls.g.dart的文件,其中包含要缓存的脱机URL的列表。.g.dart扩展指示文件是生成的,并且可以由pwa的代码生成器工具自动覆盖。
在第一次运行时,此工作流会生成web/pwa.dart文件,该文件包含具有合理默认值的服务工作进程。您可以修改此文件(例如,自定义脱机URL或使用高级API),因为代码生成器不会再次更改或覆盖它。
所有这些步骤都来自this article,你可以在那里找到更好的细节。
发布于 2021-11-08 09:33:34
没有现有的Flutter插件,最快的方法之一是简单地使用Android和iOS插件,并在它周围编写一个简单的Flutter包装器。
对于android,你可能会对this link感兴趣。对于iOS,this link可能会有所帮助。这些链接只是个例子--你可以在Google上进一步搜索,找到更多适合你需求的插件。(例如,搜索android kotlin save whole website等)。
在android和ios上找到解决方案后,您可以非常轻松地使用develop a Flutter plugin,以便让Flutter代码调用这些Android/iOS代码片段。就我个人而言,我建议使用用于安卓的Kotlin,用于iOS的Swift,并且不要忘记用于代码生成的pigeon。
顺便说一句,如果你想用Android/iOS代码而不是Flutter代码来绘制一些UI,你可能也会对platform views感兴趣。
发布于 2021-11-04 13:45:27
既然你问了一些方向:
如果您已经知道希望能够脱机查看哪些网站,则可以使用HTTrack下载这些网站并捆绑在Flutter应用程序中生成的文件。
如果你想要能够动态下载网站,目前还没有Dart/Flutter包可以帮你抓取网站。您要么自己实现它,要么创建一个使用已经编写的程序(例如HTTrack)的应用程序接口,然后将文件发送到您的应用程序。
https://stackoverflow.com/questions/69721753
复制相似问题