0

UIWebViewから呼び出されるJavascriptとObjective-C呼び出しの間のブリッジを作成しようとしています。私はそのような多くの質問を見つけます、そしてそれらのすべては私がJavascript呼び出しをキャッチするべきであると言っています

-(BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

わかりました、これを行うのは簡単な(そして唯一の?)方法なので、私はその方向に目を向けています。

これらの質問に対するすべての回答は、「webViewからURLを解析し、if-elseを使用してObjective-Cクラスにメッセージを送信する」と述べています。Javascriptには10を超える関数があるので、それらを手動で解析したくありません(これらの関数には、パラメーターとしてjsオブジェクトの配列などがあります)。

したがって、問題は次のとおりです。obj-Cセレクターとパラメーターを文字列に変換/変換解除するためのライトライブラリまたはオープンソースプロジェクトはありますか?(私はJavascriptにあまり精通していませんが、obj-Cよりもはるかに簡単に同じことを行うと思うので、主な質問はobj-Cについてです)

PS QuickConnectOCライブラリを見つけましたが、それを使用できるかどうかわかりませんPPS独自のパーサーを作成することは難しくないと思います...しかし、車輪の再発明はしたくありません

4

1 に答える 1

0

最善の解決策は次のように思われました:

jsの場合:呼び出す必要のあるメソッドの名前から文字列を作成し、stringifyを使用して文字列jsパラメーターを1つのオブジェクトとして追加し、この文字列をWebViewに送信します。

objCの場合:自分のメソッドの名前で取得し、jsonkitを使用して、パラメーター(辞書の配列など)を含む完全な辞書を取得します。

于 2012-06-27T21:27:51.663 に答える