在替換項(xiàng)目中的UIWebview時(shí)遇到了奇怪的問題。UIWebView加載的h5,可以調(diào)用优幸;但是WKWebView就是不行,找了半天褪猛,剛開始以為是彈出框相關(guān)的代理沒實(shí)現(xiàn)网杆,后來發(fā)現(xiàn)根本不走那個(gè)代理。最后解決,在WKWebView的WKNavigationDelegate代理方法處理碳却,代碼如下:
// 在發(fā)送請(qǐng)求之前队秩,決定是否跳轉(zhuǎn)
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
NSURL *url = navigationAction.request.URL;
NSString *scheme = [url scheme];
if ([scheme isEqualToString:@"tel"]) {
NSString *resource = [URL resourceSpecifier];
NSString *phone = [NSString stringWithFormat:@"telprompt://%@", resource];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: phone]];
});
}
decisionHandler(WKNavigationActionPolicyAllow);
}