IOS属性--UIWebView
2016-02-07 13:28
543 查看
UIWebView简介是iOS内置的浏览器控件,可以浏览网页、打开文档等能够加载html/htm、pdf、docx、txt等格式的文件系统自带的Safari浏览器就是通过UIWebView实现的关于MIME typeMIME的英文全称是“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:&responseerror: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)navigationTypeJS与iOS之间的通信--iOS调用JS代码// 获取当前页面的urlNSString *url = [_webViewstringByEvaluatingJavaScriptFromString:@"document.location.href"];NSLog(@"url %@", url);// 获取当前页面的标题 NSString *title = [_webViewstringByEvaluatingJavaScriptFromString:@"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代码与页面通讯相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?