我应该使用Regx,在WebView上插入JQuery或HTML解析来获取其内容吗?

时间:2012-10-17 14:22:42

标签: jquery objective-c uiwebview

接受creteria-ish 我有一个网站(不是我的),我在WebView中显示。基于页面的内容,我想提供原生按钮点击(按钮不是问题)。

需要做什么 我需要检查HTML内容是否包含2-3个特定网址。网址可以在页面上的2-3个位置。如果网址不在那里(有时它们是,有时它们不存在)我需要另外搜索内容以创建一个网址,我将要启动。

可能的解决方案

  1. 屏幕抓取使用Objective-C-HMTL-Parser,HPPLE,ElemetParser,XPathQuery和libxml2解析HTML并搜索内容。 Prons :轻松 缺点 需要格式良好的HTML / XML。对于树下的许多并发搜索,可能会很慢。
  2. 使用正则表达式 Prons :? 缺点难以快速读/写。需要格式良好的HTML / XML。许多并发搜索可能会很慢。 (Haven没试过 RegexKit Light)。
  3. 将JQuery 搜索函数插入WebView并从Objective-c调用函数。 WebViewJavascriptBridge看起来很有希望用来组合Js和ObjC(也看过TGJSBridge,GAJavaScript和iOS-JavaScript-Bridge Prons 轻松将Jquery注入WebViewJavascriptBridge代码并使用删除调用 缺点繁琐
  4. 我错过了另一种解决方案吗?
  5. 我倾向于解决方案。 3.使用WebViewJavascriptBridge我会将搜索JQuery函数注入一个处理程序,当它们找到某些东西时会被调用。我可以在多个线程中运行此搜索,或者在树下搜索一次并找到我的所有搜索项吗?

    小结

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

但是从你的问题我得到的任务有点复杂,所以你可以提供一个html片段吗?