ios 开发html和原身交互问题

 说的通俗一定就是你想点击html上面的button做跳转或者需要触发一个方法的时候

 </div>
        <div class="inputtr brob">
          <div class="tabletitlesub fl bg-wary w30hg">成人(女)</div>
          <div class="subcontent fr" onClick="getnumb(this);">
            <div class="tablecontent fr lh20" style="padding-top:12px;">
              <input class="ui-input-or h10 w40 tc user_num num_c women_num" style="border:none;" type="number">

这里有一个onClick 的方法 getnumb(this) 这个方法可以写JS 进行和原身做交互 对了有些onClick 是html 自己的方法所以你还得根据getnumb去找

function getnumb(_this){
    window.snumb=_this;
    numberofpeople(‘callback_numb‘);
}

 

我 找到了属于我自己的方法 numberofpeople(‘callback_numb‘); numberofPeople 是名称 callback_numb 是参数,到时候我们可以给他回调给,然后我们将numberofpeople(‘callback_numb‘); 写一个js 方法

function numberofpeople(cum)
    {
        var url = "objc:$"+"numberofpeople"+"#"+cum;
        document.location = url
    }

名称一定要对,参数可以自己命名 写好之后我们在ios 中 写一个web的代理

//这个是触发请求的
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSString *therUrlString = [[[request URL]absoluteString]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    NSArray *urlComps = [therUrlString componentsSeparatedByString:@":$"];
    if ([urlComps count]&&[[urlComps objectAtIndex:0]isEqualToString:@"objc"])
    {
        //js开始执行
        NSArray *arrFucnameAndParameter = [(NSString *)[urlComps objectAtIndex:1]componentsSeparatedByString:@"#"];
        NSString *funcStr = [arrFucnameAndParameter objectAtIndex:0];

   if ([funcStr isEqualToString:@"numberofpeople"])
        {
            [self numberofpeople:[arrFucnameAndParameter objectAtIndex:0] andcallback:[arrFucnameAndParameter objectAtIndex:1]];
        }

-(void)numberofpeople:(NSString *)name andcallback:(NSString *)callback

{

  这里就是你自己要写的内容

}

 其实就是这个简单          QQ交流群106537193

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。