webViewDidFinishLoad:太快开火?

12 iphone

我正在尝试通过在加载页面时隐藏webView来加载不同的网页.但是,我看到一些图像密集型网站导致webViewDidFinishLoading过快启动,当我在那时显示webView然后一瞬间你得到上一页的视图.关于如何解决这个问题的任何想法?

小智 3

如果页面上有 Javascript,您可能需要等待它完成。最简单的方法似乎是将一些 javascript 发送到要执行的页面:

-(void) webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *javaScript = @"<script type=\"text/javascript\">function myFunction(){return 1+1;}</script>";
    [webView stringByEvaluatingJavaScriptFromString:javaScript];

  // done here
}
Run Code Online (Sandbox Code Playgroud)

话虽如此,我似乎仍然看到 webViewDidFinishLoad 中 webview 没有完全更新的情况。