博客> webView加载html
webView加载html
2019-08-18 07:51 评论:0 阅读:798 西单_夜未央
webview js html CSS html加载乱码 格式不对
//加载本地的html文件
NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *filePath = [resourcePath stringByAppendingPathComponent:@"index.html"];

或者直接找文件 // NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index.html" ofType:nil];

//以utf8的编码格式加载html内容
NSString *htmlString = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
//self.wbProblems.scalesPageToFit = YES;
//将文字内容显示到webview控件上
[self.webView loadHTMLString: htmlString baseURL: [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

但很多时候:加载出来的html会乱码,格式不对 这是因为:加载不到 js css 这是我的解决思路:这是你的html js css 同名才能.但是如果有多个css,那么名字肯定不能一致,这样那个不一致的css或者js 就会找不到.既然直接拖进去找不到 js css 那么我直接把他们和html共建一个bundle

//这是我建的bundle路径 NSString *bundlePath = [[NSBundle mainBundle].resourcePath stringByAppendingString:@"/qqqq.bundle"]; NSLog(@"bundlePath==%@",bundlePath);

//通过这个bundel路径拿到这个bundle
NSBundle *budle = [NSBundle bundleWithPath:bundlePath];   
NSLog(@"budle===%@",budle);

//这是bundle下的html文件 NSString *filePath = [budle pathForResource:@"index" ofType:@"html"]; NSLog(@"filePath==%@",filePath);

//采用utf-8编码
NSString *htmlString = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
//新建的bundle的baser
NSURL *baseUrl = [NSURL fileURLWithPath:bundlePath];

//加载
[self.webView loadHTMLString:htmlString baseURL:baseUrl];
收藏
0
sina weixin mail 回到顶部