如何在 iPhone 上用 Safari 打开本地 HTML 文件?

如何在 iPhone 上用 Safari 打开本地 HTML 文件?,第1张

将HTML文件放在一个云同步服务中,比如坚果云、Dropbox、百度云盘,然后使用Safari登录云服务,直接打开html即可。

Safari是一款由苹果开发的网页浏览器,是各类苹果设备(如Mac、iPhone、iPad、iPod Touch)的默认浏览器。Safari使用WebKit浏览器引擎。

HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。

笔者性懒,腹中无墨

app嵌html屡见不鲜, 本文描述加载简单的html网页。

首先说明需求: 有网的状态直接从获取html网页并且缓存, 无网状态先从缓存读取html, 若不成功则加载本地html文件, 并且将本地html文件写入缓存, 以便下次读取.

1.加载html网页, viewWillAppear或者viewDidLoad.

以下QAUrl均为html完整的url

2.若成功, 就在成功的代理方法里, 将网页端html写入缓存

3.不成功,在失败的代理方法里, 加载磁盘缓存或者本地html,其中isNetConnected是指是否连接到互联网, 默认是true,加载失败后置为false.

fileprivate var isNetConnected: Bool = true // 是否连接到互联网

4.同样,此次成功后,在代理方法里,将本地html文件写入缓存

5.代理方法的里很简洁

6.需要注意的是

(1)拼接缓存地址时, 如果html的URL类似于" http://10.0.4.2:82/app/qa.html ",不能作为地址拼接,否则无法缓存.

(2)笔者将拼接地址统一写成"/Caches/feedback.html",若有新的缓存,则地址被覆盖,不会导致缓存多个相同文件,一般无需清理或者导致内存警告

(3)本文不涉及缓存图片, js交互等问题

7.补充:

开发过程中,笔者又遇到了一个问题,有网的情况下,网页也可能出现加载不成功.这个时候如果只是加载网页就会什么都没有.所以在viewWillAppear或者viewDidLoad里应该有个判断

如果请求request返回的finish是true即成功,则加载html网页,不成功则加载缓存.

将css,html,js 所在的文件夹拖入项目的时候会有两种情况

一个是 Create groups for any added folders (创建虚拟结构-包结构)

一个是 Create folder references for any added folders (创建实体结构)

第一种是绝对路径 文件夹拖入为黄色

NSURL*fileURL = [[NSBundle mainBundle] URLForResource:@"index.html"withExtension:nil]

本地html中加载图片,js,css资源也应该使用绝对路径就行了

如 <script type="text/javascript" src="index.js"></script>

第二种是相对路径 文件夹拖入为蓝色

NSURL*fileURL = [[NSBundle mainBundle] URLForResource:@"file/index.html"withExtension:nil]

file为本地html所在文件夹

本地html中加载图片,js,css资源也应该使用相对路径

如 <script type="text/javascript" src="js/index.js"></script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7071186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存