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 = [[NSBundlemainBundle]pathForResource:fileName ofType:nil];
// 定义URL NSURL *url = [NSURL fileURLWithPath:path];
// 定义请求 NSURLRequest *request = [NSURLRequestrequestWithURL: url];
// 定义响应 NSURLResponse *response = nil;

// 发送同步请求 [NSURLConnectionsendSynchronousRequest:requestreturningResponse:&response
error:nil];
NSLog(@"MIMEType is %@", [response MIMEType]);
return [response MIMEType]; }

UIWebView演练--准备项目介绍

准备项目说明
 gotoURLString方法由文本框回车事件调用,为了 方便用户加载本地文件

UIWebView演练(1)--gotoURL方法
// 访问指定的URL内容 - (void)gotoURL:(NSURL*)url {
// 使用URL字符串替代URL文本框 [_urlText setText:[url absoluteString]];
// 定义请求
NSURLRequest *request = [NSURLRequestrequestWithURL:url]; // 设置数据检测类型[_webViewsetDataDetectorTypes:UIDataDetectorTypeAll];

// 加载请求
[_webView loadRequest:request]; }

UIWebView--访问网站和加载本地HTML文件

UIWebView--加载本地文本文件和Word文档

UIWebView--加载本地PDF文件

UIWebView演练(2)--loadHTMLString方法 // 测试加载HTML字符串
NSString *html = @"

Hello chenyilong

";
[_webView loadHTMLString:htmlbaseURL:nil];
// 测试加载部分HTML字符串,不需要显示整个网页内容时,通常使用此方法 NSString *partHtml = @"

Hello chenyilong

";
[_webView loadHTMLString:partHtmlbaseURL:nil];

UIWebView演练(3)--loadData方法
// 测试加载本地PDF,需要指定MIMETYPE     ......
[_webView loadData:[NSDatadataWithContentsOfFile:dataPath]MIMEType:@"application/pdf"textEncodingName:@"UTF-8" baseURL:nil];
// 测试加载本地文本文件,需要指定MIMETYPE     ......
[_webView loadData:[NSDatadataWithContentsOfFile:dataPath]MIMEType:@"text/plain" textEncodingName:@"UTF-8"baseURL:nil];

// 测试加载本地HTML文件,需要指定MIMETYPE
......
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]resourcePath]isDirectory:YES];
[_webView loadData:[NSDatadataWithContentsOfFile:dataPath]MIMEType:@"text/html" textEncodingName:@"UTF-8"baseURL:baseURL];

说明:baseURL是基准URL,程序要用到其他资源的位置

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

JSiOS之间的通信--iOS调用JS代码
// 获取当前页面的url

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

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

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:IOS属性--UIWebView-创新互联
网站网址:http://ybzwz.com/article/cogsei.html