WebView 加载资源的三种方式 一般使用第二种方式与H5交互

来源:互联网 发布:腾讯围棋 mac 编辑:程序博客网 时间:2024/06/06 01:13

1.  (void)loadRequest:(NSURLRequest *)request;  (直接装载URL)

  NSString *url = @"http://www.baidu.com";

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[webView loadRequest:request];


2. (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; (主要用于装载用字符串拼接成的HTML代码)


1    NSString *html = @"hello <h1>world<h1>";
2 // @"<script language='javascript'>alert('hello');</script>'"
3 [webView loadHTMLString:html baseURL:nil];

3 .(void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;(主要应用于转载本地页面或者外部传来的NSData)



1     NSBundle *bundle = [NSBundle mainBundle];
2 NSString *path = [bundle pathForResource:@"word" ofType:@"html"];
3 //word.html存在工程的资源目录中
4 NSData *data = [[NSData alloc]initWithContentsOfFile:path];
5 [webView loadData:data MIMEType:nil textEncodingName:nil baseURL:nil];

 

其中MINEType可以设置成@"text/html"

       textEncodingName可以设置成@"GBK" @"UTF-8"

       为什么需要设置baseUrl?也就是data中有一些链接是图片,css都是外部文件,然后这些文件需要到一个目录上去找。baseUrl就是这个目录。





0 0
原创粉丝点击