Phonegap如何运作?

App*_*pps 16 mobile hybrid cordova

我们使用PhoneGap来使用移动设备的本机功能.内部如何运作?我们如何从JavaScript方法访问PhoneGap的实现类?有人可以解释一下吗?

wei*_*ohn 9

我对Cordova iOS如何将消息传递给WebView进行了一些探讨.这是如何将消息从iOS传递到JavaScript.

UIWebView类有一个称为方法stringByEvaluatingJavaScriptFromString.

如果你查看iOS Cordova项目中的一些文件,他们会将 JavaScript作为一个字符串传递给该函数,例如CDVPlugin.m.

我不知道iOS是否写了一个新的DOM节点(类似的东西<script>alert('from iOS');</script>),或者它是否通过Safari中的特殊钩子执行JavaScript.我相信后面的,上面引用的文档说:

每个顶级入口点的JavaScript执行时间限制为10秒.如果脚本执行的时间超过10秒,则Web视图将停止执行脚本.这很可能发生在代码中的随机位置,因此可能会产生意外后果.强制执行此限制是因为JavaScript执行可能导致主线程被阻塞,因此当脚本运行时,用户无法与网页进行交互.

JavaScript分配也限制为10 MB.如果您对JavaScript的总内存分配超出此限制,则Web视图会引发异常.

我不知道如果没有对UIWebView的内部状态进行一些特殊访问,他们如何能够实际施加这些限制,所以我怀疑他们只是插入一个新的DOM节点.


Joh*_*ane 5

我不完全确定,但这是信息教程.这是一个很好的起点.