在现有UIWebView的后台加载新网页

时间:2015-04-28 19:34:35

标签: ios objective-c uiwebview xcode6 uiwebviewdelegate

我已经在stackoverflow上发现了一篇关于在应用程序后台加载网址的文章,但这是在创建网页视图之前。这是链接:Background Loading a url in a uiwebview

我还在我的程序中实现webView:shouldStartLoadWithRequest:navigationType:,但在初始网页加载后不允许加载任何内容。

我的webview已经创建并加载了一个登录页面。我的webview的目的是仅对用户进行身份验证,因此在用户输入正确的凭据并点击“登录”后,webview应对用户进行身份验证,然后webview应立即关闭并加载视图控制器,而不显示屏幕上的新网页。因此,我希望webview显示的唯一网页是登录页面,但用户仍然可以自己进行身份验证。

现在,我的代码将在从网站获取LTPA令牌后转移到视图控制器,这意味着用户已成功登录,但用户的帐户网页会在屏幕上显示一两秒钟。如果有办法暂停登录网页的图像但在后台加载用户的帐户网页,我觉得这将是最简单的解决方案。这可能吗?有更简单的答案吗?

这就是我在viewDidLoad中打开网页的方式:

NSURL *myURL = [NSURL URLWithString:@"MyFakeWebpage.com"];
self.myRequest = [NSURLRequest requestWithURL:myURL];
[self.myWebView loadRequest:self.myRequest];

1 个答案:

答案 0 :(得分:0)

如果您在拦截webView:shouldStartLoadWithRequest:navigationType:时从查询参数中获取LTPA令牌,则可以从中返回NO以防止页面进一步加载。事实上,即使你没有抓住令牌,你仍然可以找到你试图阻止加载的页面并用该方法阻止它。

您还可以将请求加载到网址about:blank,以强制刷新网络视图的内容。