我有一个包含链接的UIWebView。这些链接应该在我的应用程序内的另一个视图中打开,但包含“mailto”的链接除外。为此,我在UIWebViews委托中使用以下代码:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked)
{
NSRange mailPos = [[[request URL] absoluteString] rangeOfString:@"mailto:"];
if (mailPos.location == NSNotFound)
{
self.parent.browserView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self.parent.setupViewC presentModalViewController:self.parent.browserView animated:TRUE];
[self.parent.browserView.wvMainView loadRequest:request];
}
else [[UIApplication sharedApplication] openURL:request.URL];
return FALSE;
}
return TRUE;
}
这在模拟器和iPhone上运行良好 - 但它在iPod上根本不起作用。点击链接只是在iPod Touch上没有任何作用。
致电
[self.parent.browserView.wvMainView loadRequest:request];
点击UIButton后,可以正常工作。 那么有没有办法让UIWebView中的链接在iPod上运行呢?
答案 0 :(得分:0)
尝试运行[[UIApplication sharedApplication] openURL:request.URL]; 在主线程中
在其他情况下尝试以下
[self performSelectorOnMainThread:.....];