ios学习--UIWebView

UIWebView简介

--是iOS内置的浏览器控件,可以浏览网页、打开文档等
--能够加载html/htm、pdf、docx、txt等格式的文件
--系统自带的Safari浏览器就是通过UIWebView实现的

关于MIME type

--MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器
--服务器通过说明多媒体数据的MIME类型,告诉浏览器发送的多媒体数据的类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等
--服务器将MIME标志符放入传送的数据中告诉浏览器使用哪种插件读取相关文件
--MIME类型能包含视频、图像、文本、音频、应用程序等数据

获得本地文件的MIMEType

// 获得本地文件的MIMEType
- (NSString *)MIMEType:(NSString *)fileName
{
    // 定义路径
      NSString *path = [[NSBundle mainBundle]pathForResource:fileName ofType:nil];
    // 定义URL
      NSURL *url = [NSURL fileURLWithPath:path];
    // 定义请求
      NSURLRequest *request = [NSURLRequest requestWithURL: url];
    // 定义响应
      NSURLResponse *response = nil;
    
    // 发送同步请求
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    
    NSLog(@"MIMEType is %@", [response MIMEType]);
    
    return [response MIMEType];
}

UIWebViewDelegate代理方法

/ 网页开始加载的时候调用
- (void)webViewDidStartLoad:(UIWebView *)webView

// 网页加载完成的时候调用
- (void)webViewDidFinishLoad:(UIWebView *)webView

// 网页加载出错的时候调用
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

// 网页中的每一个请求都会被触发这个方法,返回NO代表不执行这个请求(常用于JS与iOS之间通讯)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

JS与iOS之间的通信——iOS调用JS代码

// 获取当前页面的url
NSString *url = [_webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
NSLog(@"url %@", url);

// 获取当前页面的标题
NSString *title = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];
NSLog(@"title %@", title);

// 提交表单
[_webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "];


其他注意点

--UIWebView是内置浏览器控件,能够加载html、pdf、txt等多种格式文件
--常用加载方法:
loadRequest:
loadHTMLString:baseURL:
loadData:MIMEType:textEncodingName:baseURL:
--常用导航方法:
goBack – 回退  
goForward – 前进 
reload - 重载  
stopLoading - 取消载入内容
--常用属性:
scalespageToFit – 自动对页面进行缩放以适应屏幕
dataDetectorTypes - 设定电话号码、网址、电子邮件和日期等文字变为链接文字
浏览器通过MIME标志符可以知道使用哪种插件读取相关文件
iOS可以直接调用js代码与页面通讯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值