我在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();}
但無濟於事。