我有与加载像这样一个简单的请求一个UIWebView:UIWebView的承载性能不会改变
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"derp.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0];
[webView loadRequest:theRequest];
我有在web视图执行一些JavaScript的另一种方法。这个方法可以从不同的来源多次调用(包括webViewDidFinishLoad和viewDidAppear)。为了防止错误,我已经在if语句包裹这就像这样:
if (!self.webView.loading) {
... do stuff....
}
问题是self.webView.loading始终是0。我甚至试图建立一个观察者(尝试了几种不同的变化。 ...不是100%确定的sytnax):
[self addObserver:self forKeyPath:@"webView.loading" options:0 context:NULL];
但observeValueForKeyPath:ofObject:change:context:永远不会被调用。
你是否确定你并不总是重新实例化Web视图? 2.意识到'if()'不会轮询属性(因为它不是循环)? – 2013-03-27 16:52:18
1.是的。是的。如果webView正在加载,则回调会触发javaScript执行。如果第一次调用方法时没有加载,那么这意味着回调不会被触发。 – 2013-03-27 17:23:37
似乎你正试图检查Web视图正在加载在下一行改变你已经调用了loadRequest:在webview实例上,但asfaras我知道一旦你获得委托回调webView:didStartLoading或webView会加载标志:只有didFinishLoading! HTH :) – 2016-03-03 12:59:41