iOS WKWebview加载本地的HTML文件并带参数

加载本地的HTML文件

NSString * path = [Utility getAbsolutePathWithRelativePath:downloadModel.htmlPath];//path为HTML的绝对路径
[self.webView loadFileURL:[NSURL fileURLWithPath:path] allowingReadAccessToURL:[NSURL fileURLWithPath:path]];

带参数

NSString * path = [Utility getAbsolutePathWithRelativePath:downloadModel.htmlPath];//path为HTML的绝对路径
path = [NSString stringWithFormat:@"file://%@?currentTime=%zd",path,second];//转成file路径,并且拼上参数
[self.webView loadFileURL:[NSURL URLWithString:path] allowingReadAccessToURL:[NSURL URLWithString:path]];

说明:
1.WKWebview加载本地的HTML文件,必须使用loadFileURL方法。

- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL API_AVAILABLE(macosx(10.11), ios(9.0));
  1. loadFileURL的参数URL必须是fileURL,如果不是会闪退。
    fileURL格式
    file:///Users/Library/Developer/CoreSimulator/Devices/02DFBE59-3A27-450A-8173-1F632635114B/data/Containers/Data/Application/FA3C6789-9FC0-48DB-A4C3-1A1E6B25A56E/Documents/unzip/47/index.html

3.带参数的时候使用fileURLWithPath方法转化URL的时候的"?"会被转码成"%3F",然后导致整个URL的解析失败。
解决方法就是手动拼接fileURL格式字符串,然后通过URLWithString方法转化URL。

参考:本地html加载时带参数的问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,136评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,429评论 0 9
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,290评论 0 3
  • 那微小的尘埃从破碎的天空中沉下,却不落地,悬在了枝头。它骄傲的抬起头,自立为王,不可一世。尽管孤寂如倾巢而...
    Alice_246b阅读 187评论 0 0