3

毫无疑问,这对于网页来说是一个更普遍的问题,但它很容易在 Google 内容中得到证明。

在 Google 主页上输入某些搜索条件时,结果不会触发webViewDidFinishLoad方法。当彩色 Google 徽标被链接到功能页面的一些艺术作品替换时,也会出现同样的问题。

我怀疑由于某些 javascript 或 ajax 代码而导致页面没有完全加载,那么有没有办法检测到这一点?

4

1 回答 1

3

这是因为 Google 正在使用 AJAX 来执行此操作,当有效地将新资源加载到 webview 中时会调用 webViewDidFinishLoad 委托方法 - 相当于浏览器中的页面加载,因为 Google 正在 AJAX 处理这些东西,它不会导致该方法被触发。

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

您可以做的一件事是在 web 视图上执行一行 javascript,告诉您页面的高度,通过等待页面的高度发生变化,您可以知道何时发生结果,您将不得不设计其他一些 - 修改搜索查询时当然会进行更智能的检查,但我的想法适用于最初的谷歌徽标屏幕到第一个结果页面。

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

希望有帮助

于 2012-05-13T01:33:17.643 回答