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();}
그러나 아무 소용이 없습니다.