/// 1 在发送请求之前,决定是否跳转
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
通过获取navigationAction.request.URL是可以拿到当前webView。
但是里面有个问题,有些网站比如百度,是可以通过这个拿到正确的当前url;但是有些比如京东拿到的当前页面url确是错误的。关于这一点还没有搞明白?
比如这个网址,获取出来的当前链接就变成这个了。这种看起来就像苹果API自动给链接encode了。关于这个也像CTO请教过,由于他不搞苹果开发,对于苹果这个方法的处理机制不熟。只是说这个链接有点像广告链接。如果有知道的大牛可以解释下原因?
最后只能通过
[self.webView evaluateJavaScript:@"document.location.href" completionHandler:^(id _Nullable response, NSError * _Nullable error) {
NSLog(@"%@ %@",response,error);
self.nowUrl = response;
}];
获取当前页面的url。但是这个就需要等页面加载完成才能调用。
网友评论