[IOS经验总结]UIWebView与JS之间的数据交互
来源:互联网 发布:画坐标图软件 编辑:程序博客网 时间:2024/05/27 00:37
在IOS中原生控件很多.能自定义的控件也很多.但在视图界面的开发上如果用原生的控件去做就显得非常麻烦了.在我已知的技术中拥有最便捷和效果最好的视图技术展示技术中.最优秀的就要属网页.假如用到HTML来展示视图界面的话.我们就需要一个承载的容器.这个容器IOS已经帮我们提供好了,那就是我们今天的主角UIWebView控件.
准备工作:
一个完整的html页面.
一.将html网页加载进入UIWebView容器中
在"-(void)viewDidLoad”方法中加入如下代码
NSString *webPath = [[NSBundlemainBundle]pathForResource:@“HelloWord"ofType:@"html”];//获取文件路径
NSURL *webURL = [NSURLfileURLWithPath:webPath];//通过文件路径字符串设置URL
NSURLRequest *URLRequest = [NSURLRequestrequestWithURL:webURL];//设置请求提交的相关URL
[self.webViewloadRequest:URLRequest];//提交请求
二.加入UIWebViewDelegate委托(如果想要进行相应的数据交互必须添加相应的我委托)
1.-(BOOL)webView:(UIWebView
*)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType//html页面的js动作触发时运行
2.-(void)webViewDidFinishLoad:(UIWebView
*)webView //html加载完后触发
三.OC提交JS请求.运行JS方法
[self.webViewstringByEvaluatingJavaScriptFromString:@”方法名(%@)",参数]];
四.JS提交请求到OC
在-(BOOL)webView:(UIWebView*)webView
shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType中添加如下代码:
NSString *requestString = [[requestURL]absoluteString];//获取请求的绝对路径.
NSArray *components = [requestStringcomponentsSeparatedByString:@":”];//提交请求时候分割参数的分隔符
if ([componentscount]
>1 && [(NSString
*)[components objectAtIndex:0]isEqualToString:@"testapp"])
{
//过滤请求是否是我们需要的.不需要的请求不进入条件
if([(NSString
*)[components objectAtIndex:1]isEqualToString:@"change"])
{
//所要执行的操作
}
returnNO;
}
returnYES;
五.HTML中JS的写法.
1.接收请求的方法写法
functionfund(){
//操作
}
2.提交请求的方法写法
function sendCommand(cmd,param){
var url="testapp:"+cmd+":"+param;//组合请求字符串
document.location = url;//提交的请求
}
- [IOS经验总结]UIWebView与JS之间的数据交互
- [IOS经验总结]UIWebView与JS之间的数据交互
- [IOS经验总结]UIWebView与JS之间的数据交互
- IOS UIWebView与Javascript之间的交互
- IOS UIWebView与Javascript之间的交互
- IOS UIWebView与Javascript之间的交互
- iOS JS交互--UIWebView与JS的交互
- ios UIWebView与JS交互
- iOS UIWebView与JS交互
- iOS开发--UIWebview与H5之间的交互
- iOS开发,UIWebview与H5之间的交互
- UIWebView 与 js/html 之间交互
- JS与UIWebView的交互
- UIWebView与JS的交互
- UIWebView与JS的交互
- UIWebView与JS的交互
- UIWebView与JS的交互
- iOS UIWebView 与 JavaScript (js)交互
- Openstack学习笔记(九)-nova学习笔记(一)
- myeclipse9.0安装svn插件
- 自定义滑条封装含有百分比例显示(swift版)
- DNS协议详解
- 关于pylab的安装与使用等相关问题
- [IOS经验总结]UIWebView与JS之间的数据交互
- 瞬间抓住眼球!24个特色人像背景的全屏网站设计
- Android开发之Android自带的下拉刷新控件SwipeRefreshLayout
- linux iconv字符编码批处理方式转换
- Android TextWatcher
- Android 开发 之 JNI入门 - NDK从入门到精通
- 关于Quartz应用
- web 项目quartz集成
- LeetCode 之 Increasing Triplet Subsequence