複数のプラットフォーム用のhtmlアプリケーションの開発を開始しました。私は最近、Cordova 2.0(PhoneGap)について聞いたことがあり、橋の仕組みを知りたいと思って以来、 :>ネイティブphoneGap(Cordova)は内部でどのように動作するのですか、iOS固有のもの
execXhr = execXhr || new XMLHttpRequest();
// Changeing this to a GET will make the XHR reach the URIProtocol on 4.2.
// For some reason it still doesn't work though...
execXhr.open('HEAD', "file:///!gap_exec", true);
execXhr.setRequestHeader('vc', cordova.iOSVCAddr);
if (shouldBundleCommandJson()) {
execXhr.setRequestHeader('cmds', nativecomm());
}
execXhr.send(null);
} else {
execIframe = execIframe || createExecIframe();
execIframe.src = "gap://ready";
起こるしかし、それがどのように機能するかを理解したい、ファイルを何、ここでのコンセプト何である - コード歩行の多くの後、私はExec.jsはJSから呼び出しがコードであることを見ました///!gap_execまたはgap:// ready do?その呼び出しが下位層(ネイティブコード層)にどのように伝わるのかを示します。
ありがとうございます。
私はこれを長い時間のうちに考え出しました。しかし、あなたの答えは正しいです。ありがとうございました – 2ndlife
あなたはまだコードバに従っているなら、あなたの応答を更新できますか?それはexecがsrc = "gap:// ready"でiframeを注入するように見えます。それは唯一のjsです。次にCDVViewController.mはshouldStartLoadWithRequestで 'gap'へのすべてのリクエストをインターセプトし、CDVCommandQueue.mはstringByEvaluatingJavaScriptFromStringを使用してjsコマンドキューを取得します。 – premiumFrye
@Christian Kuetbach:「複数のネイティブコールが同時に実行される可能性があります」のように言った。私の状況はまったく同じです。 1つのネイティブプラグインメソッドを複数回同時に呼び出す必要があります。また、JavaScriptからのプラグイン呼び出しごとにネイティブプラグインからの応答(コールバックIDを使用したプラグイン結果として)を渡したいと思います。私はこの文脈でコルドバがどのように行動するのか分かりません。私はこの目的のために別の質問をしました。可能であれば、このhttp://stackoverflow.com/q/32139534/2035845をご覧ください。 –