加載本地的HTML文件
NSString * path = [Utility getAbsolutePathWithRelativePath:downloadModel.htmlPath];//path為HTML的絕對(duì)路徑
[self.webView loadFileURL:[NSURL fileURLWithPath:path] allowingReadAccessToURL:[NSURL fileURLWithPath:path]];
帶參數(shù)
NSString * path = [Utility getAbsolutePathWithRelativePath:downloadModel.htmlPath];//path為HTML的絕對(duì)路徑
path = [NSString stringWithFormat:@"file://%@?currentTime=%zd",path,second];//轉(zhuǎn)成file路徑夏志,并且拼上參數(shù)
[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));
- loadFileURL的參數(shù)URL必須是fileURL毕泌,如果不是會(huì)閃退抡谐。
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.帶參數(shù)的時(shí)候使用fileURLWithPath方法轉(zhuǎn)化URL的時(shí)候的"?"會(huì)被轉(zhuǎn)碼成"%3F",然后導(dǎo)致整個(gè)URL的解析失敗俏蛮。
解決方法就是手動(dòng)拼接fileURL格式字符串撑蚌,然后通過URLWithString方法轉(zhuǎn)化URL。