最近项目有个新需求,需要我们iOS和安卓跟JS进行交互。需求是这样的,H5界面有个分享按钮。点击分享按钮之后,要在我们iOS和安卓直接跳转到朋友圈分享下载app的连接。
这里我们就需要跟前端人员沟通好,让他定义分享按钮的点击方法中,添加一个指定的连接。
比如:
[!DOCTYPE html]
[html]
[head]
[meta charset="UTF-8"]
[/head]
[body]
[div]
[input type="button" value="CallShare" onclick="CallShare()"]
[/div]
[script]
function CallShare() {
window.location.href = 'toyun://CallShare';
}
[/script]
[/body]
[/html]
然后我们iOS就要拦截这个toyun://CallShare的请求。
在以下这个方法中可以进行拦截:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *url = request.URL.absoluteString;
if([url rangeOfString:@"toyun://"].location != NSNotFound) {
// url的协议头是Toyun
NSLog(@"callshare");//这里可以执行自定义的操作
returnNO;
}
returnYES;
}
以上就是iOS与JS的简单交互。主要利用了webView的拦截协议。希望能帮到大家。谢谢!
网友评论