IOS 把js css 缓存到客户端
在开发webapp 过种中,加载js css 这些文件很头疼,所以我们把他存到客户端,并且可以随时更新,只要能从服务器端取得html 就行了,再用webview 来展示
下面是一段测试代码:
//html
NSString *html = @"@import url('style.css');
[StorageUtil writeToFile:html filename:@"test.html"];
//css
NSString *css = @"#hx{font-size:56px; color:blue;}";
[StorageUtil writeToFile:css filename:@"style.css"];
//js
NSString *js = @"function showmsg(){ alert('嘿黑!');}";
[StorageUtil writeToFile:js filename:@"test.js"];
//加载html
NSString *filePath = [[ IMFileHelper documentPath] stringByAppendingPathComponent:@"test.html"];
NSString *htmlstring= [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSString *basePath = [ IMFileHelper documentPath];
[webview loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath:basePath]];//加载
StorageUtil.writeToFile 是用来写文件的,代码如下
+(BOOL)writeToFile:(NSString *)data filename:(NSString *)name
{
NSString *documentsDirectory = [[ IMFileHelper documentPath] stringByAppendingPathComponent:name];
NSData* tdata = [data dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
//创建数据缓冲
NSMutableData *writer = [[NSMutableData alloc] init];
//将字符串添加到缓冲中
[writer appendData:tdata];
//[writer appendBytes:&data length:sizeof(data)];
//将缓冲的数据写入到文件中
BOOL result = [writer writeToFile:documentsDirectory atomically:YES];
//NSFileManager *fileManager = [NSFileManager defaultManager];
//BOOL result = [fileManager createFileAtPath:documentsDirectory contents:[tdata dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
if(!result)
{
NSLog(@"Failed to write File");
}else{
NSLog(@"Not to write File");
}
}
本文介绍了一种在iOS应用中使用Webview展示Web内容时,将关键的JS、CSS等资源缓存到客户端的方法,以此减少加载时间和提高用户体验。
837

被折叠的 条评论
为什么被折叠?



