phonegap開發app中踩過的那些坑
把遇到的問題列出來,如果有解決方案的,偶也會寫下來,如果大家有更好解決方法的,歡迎留言噢
phonegap 2.9無法觸發deviceready事件
親們可以看下控製台有木有報錯,如果有提示cordova_plugins.json 404 (Not Found) ,就在www目錄下新建個空文件,命名為cordova_plugins.json就好了,cordova初始化的時候會請求這個文件,但po主還沒發現這個文件有啥用,但是沒有這個文件的話,cordova初始化失敗,自然不會觸發deviceready事件。
stackoverflow上關於這個問題有討論,https://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就會拋出這個異常,https://stackoverflow.com/questions/12846485/illegal-access-exception-with-localstorage-on-android-gingerbread
所以在getItem之後要加一層判斷哦
iScroll事件重複執行的問題
這個po主在研究中,暫時用了個變量來控製事件隻執行一次,但治標不治本,github上相關討論
待續…
最後更新:2017-04-03 05:39:04