PhoneGap开发总结(干货)
1.因为是 web页面,长按住某一个文字区域会弹出复制选择框(android 4.0)
可以通过 屏蔽
body *{
-webkit-user-select:none;
}
2.通过html标签移除缓存的影响
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
3.通过:active伪类来实现 按钮 按下的样式切换
4.通过 给按钮添加震动 提高用户使用感受
<div class="button .vibrate"></div>
$(".vibrate").bind('tap', function () {
if(navigator.notification)
setTimeout(function(){ navigator.notification.vibrate(20); },0);
});
PS:需要引入phonegap的js
5.通过本地假设tomcat服务器,修改phonegap本地config.xml的白名单 来实现远程调试。而不是每次调试都打apk包
6.使用iscroll4插件的时候 设置 bounce:false ,不需要空白的拖动,破坏原生感
7.使用phonegap 的 super.clearCache();可以清楚缓存;但是每次加载会变得很慢【调试的时候可以开启】
8.按键声音需要自己编写phonegap插件来实现。主要代码
AudioManager audiomanage= (AudioManager)getSystemService(AUDIO_SERVICE);
audiomanage.playSoundEffect(AudioManager.FX_KEY_CLICK);
9.不用table 改用 ul li来模拟,同android版本,不同机型上会有诡异问题出现
10. 捕捉android返回按键【需要phonegap支持】
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// 注册回退按钮事件监听器
document.addEventListener("backbutton", onBackKeyDown, false);
//其他页面初始化完成后的事件
}
function onBackKeyDown() {
//这里写上你要处理的事情
}
11.对于phonegap本地Hybrid模式的程序而已,Jquery与Zkpeto 性能区别不大。注意说的是Jquery 不是 JQueryMobile.