解決WKWebView載入本地HTML頁面ajax請求跨域的問題
一、建立WKWebView的時候設定WKWebViewConfiguration的屬性_allowUniversalAccessFromFileURLs為YES,程式碼如下
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
[configuration setValue:@YES forKey:@"_allowUniversalAccessFromFileURLs"];
WKWebView *wkWebView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
// 遍歷列印私有屬性
unsigned int count;
Ivar *ivarList = class_copyIvarList([WKWebViewConfiguration class], &count);
for (int i = 0; i < count; i++) {
Ivar ivar = ivarList[i];
NSLog(@"私有屬性%s", ivar_getName(ivar));
}
NSString* htmlPath = [[NSBundle mainBundle] pathForResource:@"Article" ofType:@"html"];
NSMutableString* appHtml = [NSMutableString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:htmlPath];
[wkWebView loadHTMLString:appHtml baseURL:baseURL];
[self.view addSubview:wkWebView];
wkWebView.frame = self.view.bounds;