为什么Googlesearch结果在UIWebView中不会触发webViewDidFinishLoad?

毫无疑问,这是一个关于网页的更普遍的问题,但是用Google的内容很容易就能certificate这一点。

在Google主页上input一些search条件时,结果不会触发webViewDidFinishLoad方法。 当彩色的Google徽标被replace为链接到function页面的某些插图时,也会发生同样的问题。

我怀疑这个页面没有被完全加载,因为有一些javascript或ajax代码,那么有没有办法检测这个?

这是因为谷歌正在使用AJAX来做到这一点,webViewDidFinishLoad委托方法被调用,当一个新的资源被有效地加载到webview – 相当于页面加载在浏览器中,因为谷歌AJAX这个东西,它不会造成该方法得到触发。

没有任何方法可以检测页面的哪些部分被加载(javascript,样式表或ajax响应)。

你可以做的一件事就是在web视图上执行一行javascript,通过等待页面的高度发生变化,告诉你页面的高度,你可以知道什么时候发生了结果,你将不得不devise一些其他 – 当然,当一个search查询被修改时,更聪明的检查,但我的想法将工作的第一个结果页面的初始谷歌徽标屏幕。

每隔几秒执行一次JS就足够了。

希望有所帮助