iOS WKWebView加载本地/沙盒HTML及css、images

注意这里加载的是本地的不是沙盒里的,加载沙盒的方法在最下面。

先上代码:

NSString *path = [[NSBundle mainBundle] pathForResource:@“local.html" ofType:nil];

[_wkWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];

注意!注意!注意!

如果 html 如果用到css和image 保证css和image在同一目录下。如图1

图1

html使用css、image路径应该是这样的

2、如果不在同一级目录需要创建对应的实体文件夹 如图2

图2

对应的html使用路径


html资源使用路径

注意这样是加载不出来的,因为打包之后所有的资源文件全都放在了一个目录下,这时候 图片和css资源的路径就会找不到,也就加载不出来。

有两种方式解决这种问题:

方法一、把html使用资源的路径 改成 上面第一种方式 。

方法二、为css和images创建实体文件夹

daugn duang daung

css、imags实体文件夹



ipa包里面的路径

实体文件夹 打包之后在包里也会有对应的文件夹。对应的路径也就OK了。

iOS 8.3、9.3.2 亲测 可用。

第一次发 哪里不对的地方,多多指教。

评论里回复沙盒路径怎么弄 在这里添加下。

沙盒路径文件

加载方法:

NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];    

NSString *path = [document stringByAppendingString:@"/park.html"];    WKWebView *webView  =[[WKWebView alloc]initWithFrame:CGRectMake(0, 0, 300, 400)];   

[self.view addSubview:webView];   

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path isDirectory:NO]]];


这里资源的路径和上面方法二 一样的。

你可能感兴趣的:(iOS WKWebView加载本地/沙盒HTML及css、images)