iOS开发UIWebView与原生网页的交互
2017-01-06 17:26
555 查看
原理
用UIWebView的代理方法截获原生网页的按钮点击链接,对链接判断做处理。代码
1.遵循UIWebViewDelegate代理2.设置代理self.webView.delegate = self;
3.使用代理方法截获链接
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { //在这里获取到点击某个控件传过来的URL,截取字符串,对比,做相应处理。 NSString *url = [[request URL] absoluteString]; //把接口转成UTF-8的形式 NSString *urlString = [url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //判断接口是否以http://renrenpiao/开头 BOOL flag = [urlString hasPrefix:@"http://renrenpiao/"]; if (flag) { //判断接javascriptsceneryclick方法名 if([urlString rangeOfString:@"javascriptsceneryclick"].location != NSNotFound){ //通过?符号分割,把字符串存进数组,下面可以按元素位置取 NSArray *urlArray = [urlString componentsSeparatedByString:@"?"]; //通过&符号分割,把字符串存进数组,下面可以按元素位置取 NSArray *sceneryArray = [urlArray[1] componentsSeparatedByString:@"&"]; //通过=符号分割,把字符串存进数组,下面可以按元素位置取 self.sceneryID = [sceneryArray[0] componentsSeparatedByString:@"="][1]; self.sceneryName = [sceneryArray[1] componentsSeparatedByString:@"="][1]; return NO; } } return YES; }
参考的链接:
http://renrenpiao/javascriptsceneryclick?sceneryid=73&sceneryname=%E6%B8%8
相关文章推荐
- 新闻网页类开发html和iOS原生交互
- UIWebView网页视图—IOS开发
- 【IOS 开发】UIWebView 加载本地文件,多层的网页目录结构失败分析和解决,以及demo
- iOS开发-------简易的人物信息浏览器(UISplitViewController分页控制器 与 UIWebView 网页界面)
- iOS开发,UIWebview与H5之间的交互
- iOS开发--UIWebview与H5之间的交互
- UIWebView网页视图—IOS开发
- UIWebView网页视图—IOS开发
- IOS开发过程中与嵌入的网页数据交互
- 【iOS开发】UIWebView与JavaScript(JS) 回调交互
- 【iOS开发】UIWebView与JavaScript(JS) 回调交互
- iOS开发UIWebView展示网页实例代码
- iOS开发之UIWebView与JavaScript的交互
- iOS开发——JS网页交互——javaScript
- UIWebView网页视图—iOS开发
- iOS开发之Objective-C与JavaScript的交互-UIWebView-stringByEvaluatingJavaScriptFromString
- iOS使用UIWebView和原生交互
- iOS开发之UIWebView与JavaScript的交互
- iOS中UIWebView与其中网页的javascript的交互
- iOS UIWebView和网页的交互(OC中调执行JS)