4

Acceptance creteria-ish 我有一个网站(不是我的),我在 WebView 中显示。根据页面的内容,我喜欢提供原生按钮点击(按钮不是问题)。

需要做什么 我需要检查 HTML 内容是否包含 2-3 个特定的 url。该网址可能位于页面上的 2-3 个位置。如果网址不存在(有时存在,有时不存在),我需要再次搜索内容以创建要启动的网址。

可能的解决方案

  1. 屏幕抓取使用 Objective-C-HMTL-Parser、HPPLE、ElemetParser、XPathQuery 和 libxml2 来解析 HTML 并搜索内容。优点:容易缺点需要格式良好的 HTML/XML。对于树下的许多并发搜索可能会很慢。
  2. 使用正则表达式优点:?缺点难以快速读/写。需要格式良好的 HTML/XML。许多并发搜索可能很慢。(还没有尝试过RegexKit Light)。
  3. 插入 jQuery搜索函数插入 WebView 并从 Objective-c 调用函数。WebViewJavascriptBridge看起来很有希望用于在 Js 和 ObjC 之间进行通信(还查看了 TGJSBridge、GAJavaScript 和 iOS-JavaScript-Bridge Prons 易于将 Jquery 注入 WebViewJavascriptBridge 代码并使用 dele Cons : Cumbersome调用它。
  4. 我错过了另一个解决方案吗?

我倾向于解决方案。3. 使用WebViewJavascriptBridge我将搜索 JQuery 函数注入到一个处理程序中,当他们找到某些东西时将调用该处理程序。我可以在多个线程中运行此搜索还是在树下搜索一次并找到我的所有搜索项?

回顾

-1。在您自己的网络中搜索(多)内容的“最佳”/最快解决方案是什么?

-2。我错过了另一个解决方案吗?

-3。是否可以在一个线程中运行多个 JQuery 搜索,每次找到某些东西时将结果返回给 Objc?

4

1 回答 1

0

回答您的问题 #2(您错过的任何其他方法):

您可以进行解析和所有其他工作,但只是为了查看 HTML 内容是否包含某些 URL,NSString 的 rangeOfString 方法是否足够?当然,这取决于 URL 的格式以及您到底需要什么(搜索任何提及的 URL?在某个标签内提及 URL?URL 是否会出现在不应该被考虑的其他地方?)。

但是从您的问题中,我了解到该任务有点复杂,所以您能否提供一个 html 片段?

于 2012-10-17T14:45:56.457 回答