我有一个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加上用户的墙才会出现这种情况。
在模拟器上一切正常。
对可能出错的任何建议?
答案 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;"];
}