前言
最近对Cordova的framework源码进行了了解,对Cordova的认识又增进了一步,源码不是太复杂,就不占用篇幅了。但受困于对js的不熟悉,有些插件的js部分还是不太懂。距离上一篇文章cordova–第一次实践已经将近一个月了,那时就打算看一看js方面的书,但是任务还是没完成。不过那次实现了通过本地的html文件访问照相机,于是想要实现在服务器端部署html及js文件。经过几次不成功的实践,终于成功了。
先来学习一下Cordova的原理图
从图中可以看出Web App(html,js,css等)对硬件传感器接口的调用时通过Html Rendering Engine实现的,其实就是WebApp运行在WebView中,Cordova的WebView类似于android官方提供的WebView,只不过可以相应网页的事件请求,以及将对硬件的事件监听等传递给webApp。
因此,从原理图上讲,我们将Web App(html,js,css等)放在本地端(例如android的assets文件夹中)还是放在服务器端都是可行的。
但Cordova默认只相应本地html,js的事件请求,如果要访问外部文件例如服务器端的网页则需要对Whitelist进行一下了解。
关于Whitelist
如果你查看了Cordova通过CLI(即命令行)创建的应用,这个插件是默认添加的。从官方文档的介绍来看,貌似该插件只支持Android 4.0.