Я показываю некоторые HTML со ссылками в UIWebView. Я хочу, чтобы ссылки открывались в Safari после того, как пользователь подтвердил, что ссылка действительно должна быть открыта.
Открытие ссылки работает нормально, но если пользователь отменяет, ссылка остается выбранной и подсвечивается синим цветом. Как отменить выбор ссылки и избавиться от выделения?
- (BOOL)webView:(UIWebView *)aWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
self.url = request.URL;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Open the Link in Safari" message:[request.URL absoluteString] delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK"];
[alert show];
[alert release];
return false;
}
return true;
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 1) {
[[UIApplication sharedApplication] openURL:url];
}
// Insert magic deselection code here
}
Обновление: Кажется, [UIWebView stringByEvaluatingJavaScriptFromString:] - это путь. А как именно? Я пытался
for (var e in document.getElementsByTag("a")) {e.blur();}
но безрезультатно.