我已经开始为多个平台开发 html 应用程序。我最近听说了 Cordova 2.0(PhoneGap),从那以后我就很想知道这个桥是如何工作的。经过大量代码遍历,我看到 Exec.js 是发生来自 JS -> Native 调用的代码
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";
但是想了解它是如何工作的,这里的概念是什么,file:///!gap_exec 或 gap://ready 是做什么的?以及调用如何传播到较低层(本机代码层)
提前感谢一堆。