我在UIWebView中显示一些带有链接的HTML。我希望链接在用户确认链接应该打开后在Safari中打开。取消选择webView时突出显示的链接:shouldStartLoadWithRequest:navigationType:返回false
打开链接工作正常,但如果用户取消,链接保持选中状态并以蓝色突出显示。我如何取消选择链接并摆脱突出显示?
- (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();}
但无济于事。