app和WebView的交互
来源:互联网 发布:中国人审美 知乎 编辑:程序博客网 时间:2024/05/20 07:52
我们在开发中常常会用到UIWebView,当代码中在嵌入h5时,我们的app内部可能会需要和WebView进行交,比如web前端工程师写的js中某个分享功能,当他点击h5中某个分享按钮,我们需要调用我们app内部的分享功能。比如弹出分享渠道界面,进行分享。这个时候可以和前端工程师商量加载一个自定义的url。比如:native://share?title=xx&link=xxx.我们通过解析这个url获取到需要参数内容。UIWebViewDelegate中通过下面的方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSURL *url = request.URL; NSLog(@"webView 的url:%@",url); if([[url scheme] isEqualToString:@"native"]) { return [self handleNativeUrl:url]; } if (![_webview canGoBack]) { if (self.isLoadMessages) { self.navigationItem.leftBarButtonItem=nil; } } return YES;}
获取到加载的url,从而来达到webView与app的交互。
UIWebView还有一个强大之处就是可以直接调用JS函数。
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;这个方法可以直接去调用js的方法,并返回调用的结果。比如获取到网页的title。
- (void)webViewDidFinishLoad:(UIWebView *)webView{ // NSLog(@"标题:%@", [webView stringByEvaluatingJavaScriptFromString:@"document.title"]); if (self.isLoadMessages) //只有加载资讯的时候 { if ([webView canGoBack]) //可以返回的时候 { [self setNavigationBar];//添加假的导航条目 } self.navigationItem.title=[webView stringByEvaluatingJavaScriptFromString:@"document.title"]; //调用js,获取title }}
0 0
- app和WebView的交互
- Android app嵌套html5之Webview和js的交互
- Android app嵌套html5之Webview和js的交互
- iOS webView与APP的交互
- webview和js的交互
- webview和js的交互
- Webview和Html5的交互
- WebView和html5 的交互
- webview和h5的交互
- Java 和webview 的交互
- WebView和Web的交互
- webView 和Js的交互
- js和webview的交互
- hybrod app - WebView与JS交互,加载本地和远程的html5 css JS
- webview系列:Html5页面和Native App怎么进行交互
- webview系列:Html5页面和Native App怎么进行交互
- webview系列:Html5页面和Native App怎么进行交互
- Android Application 和Webview 之间的交互
- android中shape的使用
- MYSQL的操作代码,备份、删除、数据库用法
- java中用到的几个write和read函数参数
- NSDateFormatter使用
- 黑马程序员---从头开始,回忆JAVA基础之正则表达式。
- app和WebView的交互
- 2常用的KVO、KVC、Timer
- FancyBox的使用技巧 (汇总)
- 产品设计与研发管理.一
- 关于iOS中UIView类视图的圆角
- 灰度图像--图像分割 Robert算子
- DebugGap调试腾讯X5内核webview
- 数据挖掘过程中:数据预处理
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 和 system.exit( )区别