【问题标题】:Load a new webpage in the background of an existing UIWebView在现有 UIWebView 的后台加载新网页
【发布时间】:2015-07-07 19:54:41
【问题描述】:

我已经在 stackoverflow 上找到了一篇关于在应用程序后台加载 url 的文章,但那是在创建 webview 之前。这是链接: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];

【问题讨论】:

    标签: ios objective-c uiwebview xcode6 uiwebviewdelegate


    【解决方案1】:

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

    您还可以加载对 URL about:blank 的请求以强制刷新 Web 视图的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 2020-06-10
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多