使用如下代码加载HTML文件:
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *html = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSURL * BaseUrl=[NSURL fileURLWithPath:path];
[self.webView loadHTMLString:html baseURL:BaseUrl];
在index.html中这样加载js文件:
<script type="text/javascript" src="2.js"></script>
css文件、js文件、html文件都是同级目录,css文件就没问题,但是js文件就是加载不到,请问是什么原因呢,改成UIWebview就没问题,是我使用WKWebview加载文件的方式不对吗,望大神指导,谢谢了!!!
http://www.jianshu.com/p/687536a160a7
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.preferences = [[WKPreferences alloc] init];
config.preferences.javaScriptEnabled = YES;
config.preferences.javaScriptCanOpenWindowsAutomatically = YES;
[config.preferences setValue:@(YES) forKey:@"allowFileAccessFromFileURLs"];//关键代码
config.processPool = [[WKProcessPool alloc] init];
WKUserContentController *con = [[WKUserContentController alloc] init];
config.userContentController = con;
self.webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
实测在iOS12系统下的Document目录下也有效
对了,还有你的加载方式不对,iOS9有个方法才能行:
[self.webView loadFileURL:[NSURL fileURLWithPath:htmlPath] allowingReadAccessToURL:accessURL];
accessURL设置为html所在的根目录