美文网首页iOS开发攻城狮的集散地程序员111
iOS WKWebView加载本地/沙盒HTML及css、ima

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

作者: 努力_偷懒_的程序员 | 来源:发表于2018-04-03 11:45 被阅读8064次

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

    先上代码:

    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、ima

        本文链接:https://www.haomeiwen.com/subject/dgjqhftx.html