标签:http io os ar 使用 java for strong sp
建立网络连接步骤
确定URL:明确要访问的网络资源
建立网络请求(URLRequest)
讲请求发送(NSURLConnection、NSURLSession)给服务器
处理服务器返回的数据(代理、block回调)
UIWebView
UIWebView是iOS内置的浏览器控件,可以浏览网页、打开文档等。
能够加载html、htm、pdf、docx、txt等格式的文件。
系统自带的safari浏览器就是通过UIWebView实现的。
在iOS7之前,UILabel、UITextField、以及UITextView都在后台以某种方式使用WebKit进行文本布局和渲染的。
渲染:是CG的最后一道工序,将所设计内容制作成最终效果图或者动画的过程。
UIWebView演练
*加载百度首页
//1.确定要访问的网络资源-URL
NSURL *url = [NSURL URLWithString:@“http://www.baidu.com”];
//2.建立网络请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//3.UIWebView加载网络请求
[self.webView loadRequest:request];
*实现百度搜索
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
NSString *str = searchBar.text;
//1.判断是否以http://开头,如果没有就用百度搜索
if(![str hasPrefix:@“http://“]){
str = [NSString stringWithFormat:@“http://www.baidu.com/s?word=%@“,str];
}
//2.在URL中,如果包含了文中字符串,需要将字符串转换为带百分号的格式
NSURL *url = [NSURL URLWithString:[str strByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
……
}
UIWebView加载文件
UIWebView还可以加载Bundle或者沙盒中的文件
关于MIME type
MIME英文全程”Multipurpose Internet Mail Extensions“多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器。
服务器通过说明多媒体数据的MIME类型,告诉浏览器发送的多媒体数据的额类型,从而让浏览器知道接受的信息哪些是MP3文件,哪些是Shockwava文件等等。
服务器将MIME标识符放入传送的数据中告诉浏览器使用哪种插件读取相关文件。
*网络通过二进制数据流的方式可以传输任何格式的数据。
*客户端通过MIME type就能够知道如何处理接收到的数据。
URL & Request向服务器发送请求
Response响应,服务器告诉客户端返回的二进制数据的相关信息。
JS与Web之间的通讯
//获取当前页面的url
NSString *url=[_webView stringByEvaluatingJavaScriptFromString:@“document.location.href”];
//获取当前页面的标题
NSString *title = [_webView stringByEvaluatingJavaScriptFromString@“document.title”];
//提交表单
[_webView stringByEvaluatingJavaScriptFromString:@“document.form[0].submit();”];
自定义协议与OC进行交互
<a href=“js-call://loadUrl/m.baidu.com”>百度一下,你就知道!</a>
实现webView的
- webView:shouldStartloadViewRequest:navigationType:
代理方法
此代理方法会在webView将要跳转之前被触发
处理步骤:
拦截要跳转URL字符串
判断是否为自定义协议
如果是自定义协议,则拆分URL的剩余内容
动态生成SEL,并将剩余部分以参数形式传递给该方法
警告信息的处理
# pragma clang diagnostic push
#pragma clang diagnostic ignored “-Warc performSelector-leaks”
[self performSelector:fund withObject:[array[1]];
#pragma clang diagnostic pop
JS注入
[webView stringByEvaluatingJavaScriptFromString:@“var script = document.createElement(‘script‘);"
"script.type = ‘text/javascript‘;"
"script.text = \"function myFunction() { "
"var field = document.getElementsByName(‘word‘)[0];"
"field.value=‘iPhone‘;"
"document.forms[0].submit();"
"}\";"
"document.getElementsByTagName(‘head‘)[0].appendChild(script);”];
[webView stringByEvaluatingJavaScriptFromString:@“myFunction();”];
标签:http io os ar 使用 java for strong sp
原文地址:http://www.cnblogs.com/shaohuaios/p/4041807.html