最近在处理一些跟网页打交道的东西,
由于UIWebView存在的众多问题,所以果断用了WKWebView哈。然后
遇到这样一个问题:WKWebView 如何抓取到当前跳转的网址并判断是否拦截。
开始一直被代理方法给整懵逼了,局限了思维。找了半天并没有找到相关代理方法,后来还是用KVO机制搞定了。如下:
监听webView的URL值变化,如果有变化再做响应的操作就OK了。
[_webViews addObserver:selfforKeyPath:@"URL"options:NSKeyValueObservingOptionNewcontext:nil];
-(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void*)context{
NSLog(@"url == %@",_webViews.URL.absoluteString);
}