wkwebview 通过加载请求获取信息

在项目中用WKWebView根据请求链接加载活动,产品要求在上加一个分享按钮将这活动分享出去,但是在当前的页面也就只能获取请求活动的链接,分享的模板需要有标题,子标题,还有图片,还有点开分享出去的跳转链接。不能在这个页面获取到,我们和前端协商,在点击分享的时候,他加载一个我们特定的协议头,里面填写我们所需要的所有参数,我们拦截这个协议的请求,截取对应的参数,设置分享的内容,分享成功在回调他成功的方法。

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    if([navigationAction.request.URL.scheme containsString:@"自己定义的协议头"]){
  // 里面通过参数取出自己需要的内容,注意链接和文字要转义之后再拼接过来,要不iOS端会解析错误,在iOS10和iOS11 上解析出来的内容还不一样,
}

分享成功在回调H5的方法

      /// 方法名
      NSString *js_result = [NSString stringWithFormat:@"%@()", self.shareSuccessH5Action];
        [self.webView evaluateJavaScript:js_result completionHandler:^(id _Nullable response, NSError * _Nullable error) {
            
        }];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容