直接上代码
js写法一:
<a href='url' class='a_link' target='_blank' οnclick='clickXiaov(this)'>链接</a>
js调用ios:
js写法:
function clickXiaov(obj){
var param1=obj.href;
}
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"];
js写法一:
<a href='url' class='a_link' target='_blank' οnclick='clickXiaov(this)'>链接</a>
js调用ios:
js写法:
function clickXiaov(obj){
var param1=obj.href;
var param2 = "b";
// "xiaov://"为自定义协议头;
// param1¶m2为要传给ios的值,以":/"作为分隔
}
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"];