只在初始加载后从UIWebView加载Safari中的URL?

时间:2013-01-24 10:58:19

标签: ios xcode uiwebview safari youtube

上周我一直在努力弄清楚如何检测Javascript何时加载到网页上,然后从UIWebView跳出到Safari中。

我目前正在使用此代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if (navigationType == UIWebViewNavigationTypeOther) {

        [[UIApplication sharedApplication] openURL:request.URL];
        return NO;
    }

    return YES;
}
网址http://m.youtube.com/

上的

(通常行if (navigationType == UIWebViewNavigationTypeLinkClicked) {可以使用,但不适用于像YouTube这样的Javascript页面,所以我使用if (navigationType == UIWebViewNavigationTypeOther) {代替。

这样可行,但不幸的是,第一次加载页面时会跳转到Safari。我只想在Safari中加载后续页面。

有没有办法检测页面第一次加载,然后阻止它在Safari中打开,但允许后续请求在Safari中打开?非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码,如果有任何查询,请告诉我......

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[urlArr objectAtIndex:indexPath.row]]];