有的时候应用中需要通过点击网页中的文字或者按钮调用一个方法或事件,这时需要我们将网页与应用之间建立联系。
1.和服务器人员约定一个协议例如ios://
2.当点击网页上文字或按钮时,跳转这个约定协议的路径
3.通过webview代理方法监听url,判断是哪个操作决定调用方法。
window.location.href = 'iso://openCamer';
#pragma mark - UIWebViewDelegate
/**
当webView发送一个请求之前都会调用这个方法, 返回YES, 可以加载这个请求, 返回NO, 代表禁止加载这个请求
*/
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *url = request.URL.absoluteString;
NSRange range = [url rangeOfString:@"ios://"];
if (range.length != 0) {
// 截取方法名
NSString *method = [url substringFromIndex:range.location + range.length];
// 将方法名转为SEL类型
SEL selector = NSSelectorFromString(method);
[self performSelector:selector withObject:nil];
}
return YES;
}