未调用UIWebView didFinished并显示空白页面

时间:2013-05-31 09:26:56

标签: ios uiwebview

我有一个UIWebView,我打开一个网站,但有时不会调用委托方法,UIWebView会显示一个空白页面。 但是,当我使用Safari在UIWebView中显示HTML代码时,所有内容都已加载但未显示。 有没有人遇到类似的行为?

我什么都不做

NSURL *url = ...
NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.cordovaController.webView loadRequest:request];

- (void) webViewDidFinishLoad:(UIWebView*)theWebView
{
    NSLog(@"LOADING WEBSITE DONE");
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"LOADING WEBSITE DONE WITH ERROR %@", [error description]);
}

3 个答案:

答案 0 :(得分:0)

使用 UIWebView 委托方法打开网址

#pragma mark UIWebView Delegates -

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

            [[UIApplication sharedApplication] openURL:[request URL]];
            return NO;  //only open in safari not in UIWebView
        }
        return YES;
    }

我希望它适用于你

答案 1 :(得分:0)

您可能需要查看:

UIWebview slow loading secured page

看起来webview可能难以管理用于连接到该页面的一些身份验证挑战。

答案 2 :(得分:0)

您需要记住将UIWebView对象连接(按住Ctrl键)到ViewController上的filesOwner按钮(底部的橙色按钮),然后选择“委托”。你应该会发现你的代码现在会被调用。

ctrl drag from UIWebView to files owner and select "delegate"

我希望这会有所帮助。如果确实如此,请将此标记为正确+1等。干杯吉姆。