WebView Twitter缓慢加载

时间:2011-03-19 10:22:47

标签: iphone twitter webview

我有一个WebView加载Twitter移动用户的墙:

NSString *urlAddress = [NSString stringWithString:@"http://mobile.twitter.com/gatrecords"]; 
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[myWebView loadRequest:requestObj];

当加载网页时,它会冻结10到15秒,然后我可以正常导航。在iPhone的Safary浏览器上也是如此。只有加载mobile.twitter加上用户的墙才会出现这种情况。

在模拟器上一切正常。

对可能出错的任何建议?

1 个答案:

答案 0 :(得分:0)

我找到了冻结的解决方法。显然WebView冻结了尝试执行twitter的javascript 10秒,之后系统将停止尝试并且WebView将可滚动。所以我只有在加载twitter的网页时才停止加载:

- (void)webViewDidFinishLoad:(UIWebView *)webView {

  NSString *twitter = [NSString stringWithFormat:@"%@", [[myWebView request] URL]];

  if ([twitter isEqualToString:@"http://mobile.twitter.com/gatrecords"]) {
       [myWebView stopLoading];
  }
}

然后我在10秒后收到关于javascript没有正确加载的错误警告,我修复如下:

- (void)webViewDidStartLoad:(UIWebView *)webView {

 [myWebView stringByEvaluatingJavaScriptFromString:@"window.alert=null;"];

}