iOS webView 和 H5 页面交互(点击获取H5页面中的按钮,做自己想做的操作)

第一次做和H5交互的项目,和大家分享一下经验,不喜勿喷!吐舌头

以前做的项目,仅仅只是用UIWebView加载一个完整的URL或者一个H5的代码,这次做的项目,需要点击H5页面上的的按钮,跳转到iOS原生的界面!

UIWebView三种加载方式,相信大家都了如指掌了!

webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, HR_SCREEN_WIDTH, HR_SCREEN_HEIGHT)];
_webView.delegate = self;
_webView.backgroundColor = HR_BG_COLOR;
_webView.scalesPageToFit = YES;
_webView.scrollView.showsHorizontalScrollIndicator = NO;
_webView.scrollView.bounces = NO;
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@Index.html",H5_BASE_URL]]]];
[self.view addSubview:_webView];

 

必须遵守UIWebViewDelegate协议

实现代理方法:

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

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    NSString * requestString = request.URL.absoluteString;
    NSLog(@"请求的地址:%@",requestString);

}
requestString 是即将展示的网页的完整路径


H5网页中需要做的:

H5上的按钮需要添加方法,例:<button οnclick="commit()">这是个需要获取的按钮</button>

JS里面实现方法:
function commit(){
     window.location.href = "next://";

}

next:// 可以是任意值,只是起到了标识符的作用

这样设置以后,当点击按钮的时候,requestString = "next://";

然后就根据自己的需要,判断requestString的值是什么,要进行什么操作


if ([requestString containsString:@"next://ProductCopyright"]){
      //做你想要的操作
      HRProductCopyrightViewController * brandRequireVC = [[HRProductCopyrightViewController alloc]init];
      [self.navigationController pushViewController:brandRequireVC animated:YES];
 
}


如果你不想这样做的话,也可以使用JS重写按钮的点击方法,在按钮的点击方法中,直接调用iOS代码,这种方法比较麻烦,就不说了

如果有好的方法,记得给我留言吐舌头







  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值