iOSHTML5的JS交互

 //webViewH5点击交互走的代理  

成都创新互联于2013年创立,先为芷江等服务建站,芷江等地企业,进行企业商务咨询服务。为芷江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

    NSURL * url = [request URL];

    NSString * urlStr = url.absoluteString;

    NSString * protocolPrefix = @"scheme";//和后台定义好的字符  

    [self H5Js:protocolPrefix url:urlStr];

    return YES;

}

//数组分离参数 开始进行关键字提取以及相关操作

-(void)H5Js:(NSString *)protocolPrefix url:(NSString *)urlStr

{

    if ([[urlStr lowercaseString]hasPrefix:protocolPrefix])

    {

        urlStr = [urlStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSArray * components = [urlStr componentsSeparatedByString:@":"];//以":"截取字符

        NSArray * shareUrl = [urlStr componentsSeparatedByString:@"?"];

        

//        NSLog(@"%@",components);

        NSString * prefix = components[1];

        if ([prefix isEqualToString:@"awardLogin"])

        {

            isReash = YES;

            [self jumpLogin];

        }

        if ([prefix isEqualToString:@"awardBindMobile"])

        {

            //绑定手机

            ModifyPhoneController * phone = [[ModifyPhoneController alloc]init];

                phone.title=@"绑定手机";

            [self.navigationController pushViewController:phone animated:YES];

        }

        if([prefix rangeOfString:@"awardShare"].location !=NSNotFound)

        {

            NSRange range1 = [urlStr rangeOfString:@"?"];//匹配得到的下标

            //        NSLog(@"rang:%@",NSStringFromRange(range));

            NSString *rangeStr =[urlStr substringFromIndex:range1.location+1];

            NSArray * parameter =  [rangeStr componentsSeparatedByString:@"&"];

            NSLog(@"%@",parameter);

            [dic setObject:[parameter[1] componentsSeparatedByString:@"="][1]  forKey:@"shareTitle"];

            [dic setObject:[parameter[2] componentsSeparatedByString:@"="][1] forKey:@"shareContent"];

            [dic setObject:[parameter[0] componentsSeparatedByString:@"="][1] forKey:@"shareImg"];

            [dic setObject:[parameter[3] componentsSeparatedByString:@"="][1] forKey:@"shareUrl"];

            NSRange range = [parameter[4] rangeOfString:@"="];//匹配得到的下标

            NSLog(@"rang:%@",NSStringFromRange(range));

            NSString *rangeStr1 =[parameter[4] substringFromIndex:range.location+1];

            [dic setObject:rangeStr1 forKey:@"smsContent"];

             [self share:nil];

        }

    }

}

//回调JS代码

 NSString * str =[NSString stringWithFormat:@"lsf_login_callback(%@)",[User shareUser].userId];

        //评论完后刷新html5 页面

        [self.webView stringByEvaluatingJavaScriptFromString:str];


新闻标题:iOSHTML5的JS交互
文章来源:http://csdahua.cn/article/ipjsij.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流