【问题标题】:Why are Google search results in UIWebView not triggering webViewDidFinishLoad?为什么 UIWebView 中的 Google 搜索结果没有触发 webViewDidFinishLoad?
【发布时间】:2012-05-13 01:21:17
【问题描述】:

这无疑是一个关于网页的更普遍的问题,但很容易通过 Google 内容进行演示。

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

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

【问题讨论】:

    标签: ios uiwebview


    【解决方案1】:

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

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

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

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

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多