var param2 = "b";
// "xiaov://"为自定义协议头;
// param1¶m2为要传给ios的值,以":/"作为分隔
window.location.href="xiaov:||"+":|"+param1+":|"+param2; } ios写法: (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([requestString hasPrefix:@"xiaov:||"]) { // 以":||"为中心将url分割成两部分,放进数组arr NSArray *arr = [requestString componentsSeparatedByString:@":||"]; NSLog(@"%@",arr); //取其后半段 NSString *paramStr = arr[1]; NSLog(@"%@",paramStr); //以":/"为标识将后半段url分割成若干部分,放进数组arr2,此时arr2[0]为空,arr2[1]为第一个传参值,arr2[2]为第二个传参值,以此类推 NSArray *arr2 = [paramStr componentsSeparatedByString:@":|"]; NSLog(@"%@",arr2); //取出参数,进行使用 if (arr2.count) { NSLog(@"有参数"); [self doSomeThingWithParamA:arr2[1] andParamB:arr2[2]]; }else{ NSLog(@"无参数"); } return NO; } return YES; } js写法二: <a href="javascript:void(0);" id="btn" οnclick="clickXiaov(this)"></a> js调用ios: js写法: function clickXiaov(obj){ window.webkit.messageHandlers.Xiaov.postMessage(null); } ios写法: [self.webView.configuration.userContentController addScriptMessageHandler:self name:@"Xiaov"];