青岛建站seo公司无锡网站优化工作室

news/2025/9/30 20:44:56/文章来源:
青岛建站seo公司,无锡网站优化工作室,小程序注册失败,毕业设计网站模板在 Flutter 开发中#xff0c;加载本地 HTML 文件是一个常见的需求#xff0c;尤其是在需要展示离线内容或自定义页面时。flutter_inappwebview 是一个功能强大的插件#xff0c;支持加载本地文件和网络资源。本文将详细介绍如何使用 flutter_inappwebview 加载 App 本地 HT…在 Flutter 开发中加载本地 HTML 文件是一个常见的需求尤其是在需要展示离线内容或自定义页面时。flutter_inappwebview 是一个功能强大的插件支持加载本地文件和网络资源。本文将详细介绍如何使用 flutter_inappwebview 加载 App 本地 HTML 文件包括传统加载资源文件的方法和从 App 目录加载文件的方法。 一、传统加载资源文件 HTML 文件放置 首先将 .html 文件拖入工程中。通常我会将文件放在工程的根目录下与 pubspec.yaml 同级。 然后打开 pubspec.yaml 文件在 assets: 下添加该文件例如 flutter:assets:- membership_agreement.html加载本地 HTML 文件 接下来使用 rootBundle 读取文件内容并通过 InAppWebView 加载 HTML 数据。 dart复制 import package:flutter/material.dart; import package:flutter/services.dart show rootBundle; import package:flutter_inappwebview/flutter_inappwebview.dart;class LocalHtmlPage extends StatefulWidget {final String html;LocalHtmlPage({required this.html});override_LocalHtmlPageState createState() _LocalHtmlPageState(); }class _LocalHtmlPageState extends StateLocalHtmlPage {late InAppWebViewController _webViewController;FutureString _getFile() async {return await rootBundle.loadString(widget.html);}overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(加载本地 HTML 文件)),body: FutureBuilderString(future: _getFile(),builder: (context, snapshot) {if (snapshot.hasData) {final String htmlUrl Uri.dataFromString(snapshot.data!,mimeType: text/html,encoding: Encoding.getByName(utf-8),base64: true,).toString();return InAppWebView(initialUrlRequest: URLRequest(url: Uri.parse(htmlUrl)),onWebViewCreated: (controller) {_webViewController controller;},onLoadStart: (controller, url) {print(开始加载: $url);},onLoadStop: (controller, url) {print(加载完毕: $url);},onConsoleMessage: (controller, consoleMessage) {print(Console message: ${consoleMessage.message});},);}return Center(child: Text(读取失败));},),);} }二、加载 App 目录文件 需求背景 在某些场景下HTML 文件可能需要先下载到 App 的本地目录然后再从目录中加载。例如从网络下载 HTML 文件并保存到本地缓存目录。核心代码 以下是使用 flutter_inappwebview 加载 App 目录中的 HTML 文件的完整代码示例 import dart:io; import package:flutter/foundation.dart; import package:flutter/material.dart; import package:flutter_inappwebview/flutter_inappwebview.dart; import package:path_provider/path_provider.dart;class LocalHtmlPage extends StatefulWidget {final String htmlFileName;LocalHtmlPage({required this.htmlFileName});override_LocalHtmlPageState createState() _LocalHtmlPageState(); }class _LocalHtmlPageState extends StateLocalHtmlPage {late InAppWebViewController _webViewController;FutureFile? getLocalHtmlFile() async {final directory await getApplicationDocumentsDirectory();final filePath ${directory.path}/${widget.htmlFileName};final file File(filePath);if (await file.exists()) {return file;}return null;}Futurevoid load() async {try {final file await getLocalHtmlFile();if (file ! null) {print(加载本地 HTML 文件: file://${file.path});_webViewController.loadUrl(urlRequest: URLRequest(url: Uri.file(file.path)),);} else {print(文件不存在);}} catch (e, stackTrace) {print(加载本地 HTML 文件异常: $e);print(stackTrace);}}overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(加载本地 HTML 文件)),body: InAppWebView(onWebViewCreated: (controller) {_webViewController controller;load();},onLoadStart: (controller, url) {print(开始加载: $url);},onLoadStop: (controller, url) {print(加载完毕: $url);},onProgressChanged: (controller, progress) {print(WebView 加载中 (进度: $progress%));},onConsoleMessage: (controller, consoleMessage) {print(Console message: ${consoleMessage.message});},gestureRecognizers: FactoryOneSequenceGestureRecognizer{Factory(() EagerGestureRecognizer()),}.toSet(),),);} }三、注意事项 文件路径问题 确保文件路径正确并且文件确实存在于指定路径下。 如果文件路径是动态生成的确保路径格式正确。 文件内容问题 确保 HTML 文件内容是有效的且没有语法错误。 可以在浏览器中直接打开该 HTML 文件确认其是否正常显示。 iOS 网络权限 如果加载的文件路径是 file://确保 iOS 的网络权限配置正确。在 Info.plist 中添加以下配置 keyNSAppTransportSecurity/key dictkeyNSAllowsArbitraryLoads/keytrue/ /dict日志输出 如果需要关闭日志输出可以在 Dart 代码中过滤日志消息或在 iOS 和 Android 项目中配置日志级别。 通过以上方法你可以灵活地使用 flutter_inappwebview 加载本地 HTML 文件无论是通过资源文件还是从 App 目录加载。希望本文能帮助你更好地实现这一功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人网站怎么设计seo求职信息

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。 本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。SCMI 是可扩展的,目前提供了以下接口: • 支持的接口的发现和自描述…

网站建设师恩施网页定制

导语内容提要李刚、唐炜主编的《C语言程序设计立体化教程(高等教育立体化精品系列规划教材)》主要分为四篇:语法基础篇、程序设计结构篇、初级应用篇和高级应用篇;其中第一篇语法基础部分介绍了C语言概述和C语言数据与运算;第二篇程序设计结构…

镇江网站推广优化做饰品网站

第二篇记录下Geometry函数,相对于其它语言,Arcade对Geometry的支持是一大亮点,这使得它的上限被大大提高了。 三、Geometry函数 1、Angle【角度】 单位为度(0-360),正北为90度,只考虑x-y平面。…

树的遍历实现

LeetCode 144. 二叉树的前序遍历 前序遍历的顺序是:根节点 → 左子树 → 右子树 import java.util.ArrayList; import java.util.List; import java.util.Stack;public class BinaryTreePreorderTraversal {public st…

张家港英文网站制作惠州做网站 百度优化

文章目录一、MySQL数据库备份单循环1. 安装mysql2. 配置mysql环境变量3. 刷新环境变量4. 创建数据库和表lue5. 脚本制作6. 运行脚本7. 查看备份的sql文件7. 脚本升级动态传参8. 运行脚本9. 查看备份的sql文件二、MySQL数据库表备份多循环2.1. 脚本制作2.2. 运行脚本2.3. 指定目…

福田区住房和建设局网站网站要实名认证

目录 1.概念2.结构3.实现4.优缺点5.使用场景6.模式扩展7.JDK 源码解析——Collection.iterator 方法 1.概念 (1)Java 设计模式——工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机等。这些工厂只生产同种类产…

企业网站在ps里做吗wordpress 点击文章图片

第1章:引言 大家好,我是小黑,今天咱们要聊聊Lock Support。Lock Support是Java并发编程的一块基石,它提供了一种非常底层的线程阻塞和唤醒机制,是许多高级同步工具的基础。 为什么要关注Lock Support?线程…

自媒体网站源码google store

del dict[key] # 删除dict字典里的键值

题解:AT_abc311_h [ABC311Ex] Many Illumination Plans

题意:给出一棵树,每个节点有权值,重量和颜色,问对于每个子树 \(u\),选出一个包含 \(u\) 的虚树,满足重量之和 \(\le X\),相邻两个点颜色不同且权值和最大。 做法: 首先我们会一个非常平凡的 \(O(nX^2)\) 做法,…

怎么在阿里云服务器上建设网站网站数据模版

知识导航(就问全不全) 当学习 Vue.js 时,除了基本的 HTML、CSS 和 JavaScript 知识外,还有一些其他的技术和语法需要了解,例如 ES6 和 TypeScript。以下是您可能需要学习的一些基础知识和对应的学习资源,我…

上海网站设计图片新建网址

没有使用Windows经典风格的QTreeView或QTreeWidget显示如下: 使用Windows经典风格的QTreeView或QTreeWidget显示如下: 树展开时: 树未展开时: 可以看到: 未使用Windows经典风格时,QTreeView或QTreeWidget…

南阳网站建设aokuo做图网站有哪些

随着人工智能的迅猛发展,ChatGPT作为一种强大的自然语言处理模型,逐渐在学术界引起了广泛的关注。本文将探讨ChatGPT在学术写作中的应用,并分享使用ChatGPT进行学术写作时的一些经验和心得。 01 — ChatGPT在学术写作中的应用 1.文献综述和…

淮南移动网站建设深圳网站推广优化

区域代理的保护机制:在链动商城系统里设定的代理有唯一性,每个省只有一个省代,每个市只有一个市代,每个区县只有一个区县代。这样也是保护每个代理的收益权益。 区域代理包含的权益类别:购物奖励折扣;区域实…

品牌网站建设哪里有维影企业网站管理系统

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高,旅游业和酒店业发展的速度越来越快。近年来,市面上酒店的数量和规模都在不断增加,如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

易语言如何做网站钦州建设网站

题目 给定长为n(n<2e5)的1-n的排列p&#xff0c; 求(i,j)(1<i<j<n)对的数量&#xff0c;满足gcd(i,j)≠1且gcd(pi,pj)≠1 思路来源 官方题解 题解 参考莫比乌斯函数mu&#xff0c;定义一个新函数&#xff0c; 新函数需要满足n1的时候对因子求和为0&#xff0…

现在流行的网站开发中关村在线

简介&#xff1a; 针对数据库连接池到DRDS连接探活的优化 1. 问题背景 近期在给某专有云客户进⾏云产品应⽤性能优化分析时&#xff0c;发现了⼀个有趣的关于DRDS使⽤层⾯的问题&#xff0c;这⾥给⼤家分享⼀下。 使⽤过DRDS产品的同学都知道在DRDS中&#xff0c;未分库分表的…

2025-9-27 提高组模拟赛 div2

比赛链接模拟赛 订正赛

idea 网站开发网站页面设计制作费

随着世界技术的迭代与发展&#xff0c;人工智能和机器学习正在超自动化领域&#xff0c;扮演着越来越重要的角色。2020年的冠状病毒疫情突发&#xff0c;整个世界都在防疫的道路上披荆斩棘。人工智能发挥了重大作用&#xff0c;智能测温、智能消毒、智能建设都能看到AI的影子。…

植物大战僵尸融合版下载安装教程【PC/安卓/iOS 完整攻略 + 常见问题解决】 - 详解

植物大战僵尸融合版下载安装教程【PC/安卓/iOS 完整攻略 + 常见问题解决】 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

合同范本的网站深圳戈麦斯网站开发

P3714 [BJOI2017]树的难题 求解树上长度在L到R的树链中颜色段权值和最大的链。 首先求解树上链的问题&#xff0c;而且限制了链的长度&#xff0c;那么我们需要点分治处理&#xff0c;然后考虑每次分治&#xff0c;我们可以把链分成两类&#xff0c;先处理同色连通块&#xf…