【问题标题】:URL load in Safari but not loading in UIWebview在 Safari 中加载 URL,但在 UIWebview 中不加载
【发布时间】:2013-02-23 10:18:38
【问题描述】:

我遇到了一个奇怪的问题。当我尝试在 UIWebView 中加载该 url 时,我有一个 URL,它不会加载 web 视图保持空白,但是当我尝试在 Safari 中加载相同的 url 时,它运行良好并显示页面。 UIWebView 是否有任何限制,例如如果网页包含它不能加载任何特定类型的小部件。

提前致谢

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
webView.delegate = self; 
NSURL *url = [NSURL URLWithString:@"myurl"]; 
NSURLRequest *req = [[NSURLRequest alloc]initWithURL:url];
[self.view addSubview:webView];
[webView loadRequest:req];

【问题讨论】:

  • 不,UIWebView 对加载 url 没有任何限制。你的代码应该有问题。向我们提供一些代码,以便我们为您提供帮助。
  • 你能提供代码吗?
  • 你有没有实现UIWebViewDelegate方法webView:didFailLoadWithError:看看错误是什么?
  • UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; webView.delegate = 自我; NSURL *url = [NSURL URLWithString:@"myurl"]; NSURLRequest *req = [[NSURLRequest alloc]initWithURL:url]; [self.view addSubview:webView]; [webView loadRequest:req];
  • 我也实现了 webview 委托,加载 url 时没有发生错误。它进入 webViewDidFinishLoad。

标签: iphone ios uiwebview


【解决方案1】:

Safari 和本地计算机上的 iOS 模拟器上的行为将是相同的。两者都使用系统偏好设置中配置的相同代理设置。

但是 - 诀窍在这里 - 每个都有自己独特的 cookie 存储。要获得相同的行为,您应该首先重置 Safari 和模拟器。

这让我大吃一惊。我的 Safari URL 有效,因为我之前存储了 cookie 值,使服务器能够满足我的请求。在模拟器上,不存在此类 cookie,因此服务器无法响应。从表面上看,UIWebView 似乎不起作用。然而事实并非如此

底线: 重置两者并重试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    相关资源
    最近更新 更多