phonegap开发app中踩过的那些坑
把遇到的问题列出来,如果有解决方案的,偶也会写下来,如果大家有更好解决方法的,欢迎留言噢
phonegap 2.9无法触发deviceready事件
亲们可以看下控制台有木有报错,如果有提示cordova_plugins.json 404 (Not Found) ,就在www目录下新建个空文件,命名为cordova_plugins.json就好了,cordova初始化的时候会请求这个文件,但po主还没发现这个文件有啥用,但是没有这个文件的话,cordova初始化失败,自然不会触发deviceready事件。
stackoverflow上关于这个问题有讨论, http://stackoverflow.com/questions/16095757/what-is-the-cordova-plugins-json-file-for-cordova-is-requesting-it-at-initializ。
phonegap拍照回调慢
刚遇到这个问题的时候,po主很崩溃,在三星S4上都这么慢,那没戏了啊,经过调试,发现慢是图片大小的问题
代码如下,标红的是重点,将拍出来的照片压缩到640宽,速度就飞一般了。
navigator.camera.getPicture(function(imageData){
app.startLoading(‘正在上传图片’);
app.uploadImg(imageData,function(data){
console.log(data)
}, function(message){
console.log(‘拍照失败: ‘ + message);
}, {
quality: 75,
destinationType: Camera.DestinationType.DATA_URL,
saveToPhotoAlbum:true,
targetWidth:640,
targetHeight:1138,
correctOrientation:true
});
illegal access exception with localstorage
起初以为是android某些版本对localstorage的支持问题,后来发现是getItem()得到的内容是null的时候,用JSON.parse就会抛出这个异常, http://stackoverflow.com/questions/12846485/illegal-access-exception-with-localstorage-on-android-gingerbread
所以在getItem之后要加一层判断哦
iScroll事件重复执行的问题
这个po主在研究中,暂时用了个变量来控制事件只执行一次,但治标不治本, github上相关讨论
待续…