受け入れ基準-私はWebView に表示 する Web サイト (私のものではない) を持っています。ページのコンテンツに基づいて、ネイティブ ボタン クリックを提供したいと考えています (ボタンは問題ではありません)。
HTML コンテンツに 2 ~ 3 個の特定の URL が含まれているかどうかを確認する必要があります。URL は、ページの 2 ~ 3 か所にある可能性があります。URL が存在しない場合 (存在する場合もあれば、存在しない場合もあります)、別のコンテンツを検索して、起動する URL を作成する必要があります。
可能な解決策
- Objective-C-HMTL-Parser、HPPLE、ElemetParser、libxml2 で XPathQuery を使用して HTML を解析し、コンテンツを検索するスクリーン スクレイピング。長所: 簡単短所:整形式の HTML/XML が必要。ツリーを下る多くの同時検索ではおそらく遅いでしょう。
- 正規表現を使用します。長所:?短所:高速で読み書きが難しくなります。整形式の HTML/XML が必要です。多くの同時検索ではおそらく遅いでしょう。(RegexKit Light は試していません)。
- JQuery検索関数を WebView に挿入し、Objective-c から関数を呼び出します。WebViewJavascriptBridgeは、Js と ObjC の間で通信するために使用することが有望に見えます (TGJSBridge、GAJavaScript および iOS-JavaScript-Bridge Pronsも調べました: Jqueryを WebViewJavascriptBridge コードに挿入し、dele を使用して呼び出すのは 簡単です。
- 私が見逃した別の解決策はありますか?
私はソリューション番号に傾いています。3. WebViewJavascriptBridgeを使用して、何かを見つけたときに呼び出されるハンドラーに検索 JQuery 関数を挿入します。この検索を複数のスレッドで実行するか、ツリーを一度下って検索し、すべての検索項目を見つけることができますか?
要約:
-1. 自分のものではない Web 内の (複数の) コンテンツを検索する「最良の」/最速のソリューションは何ですか?
-2. 私が見逃した別の解決策はありますか?
-3. スレッドで複数の JQuery 検索を実行し、何かが見つかるたびに結果を Objc に返すことは可能ですか?