phoneGap+jquery mobile项目经验

最近一个月,一直在用phoneGap+jquery mobile来开发一项目。

下面谈谈自己在开发过程中遇到的一些问题以及解决方法。

开始选择框架时,曾试过采用其他框架做UI,例如chocolatechip,它的UI比jquery mobile做得更加美观,且体验比jqm反应速度快,大家不妨去体会一下。

【1】访问外部url,需要在PhoneGap.plist中ExternalHosts中添加域名,注意,不要把协议和路劲加进来。

【2】若使用第三方phonegap插件(https://github.com/phonegap/phonegap-plugins),需在PhoneGap.plist中Plugins中添加对应项。

【3】iScroll插件:手动刷新更可靠。

var scroll;

function loaded(){

scroll = new iScroll("wrapper",{checkDOMChange:false});

}

document.addEventListener("DOMContentLoaded",loaded,false);

当DOM树改变时,手动刷新scroll.refresh();

页面滚动到顶部:scrollTo(x,y,time,relative)

如scroll.scrollTo(0,0,500); 

【4】禁止全屏滚动:document.addEventListener("tochmove",function(e){e.preventDefault();},false);

【5】中间显示Loading进度框

$.mobile.loadingMessage="Loading...";//自定义文字

$.mobile.showPageLoadingMsg();//显示

$.mobile.hidePageLoadingMsg();//隐藏

【6】操作XML文件

我们将配置信息保存在config.xml中,读取内容:

function getConfig(key){

$.ajax({

url:"config.xml",

async:false,//同步

type:"Get",

dataType:"xml",

timeout:1000,

error:function(xml){},

success:function(xml){

    var url;

$(xml).find("item").each(function(i){

if(key==$(this).children("name").text())

url=$(this).children("url").text();

})

return url;

}

})

}

注意,Chrome浏览器设置了安全项,不支持读取本地文件,要加载服务端文件

【7】数据加载:

$.ajax({

url:"http://www.XXX.XXX",

async:true,//异步

cache:false,

type:"Get",

dataType:"json",

timeout:5000,

error:function(data){},

success:function(data){},

complte:function(data){}

})

注意以上都是逗号结尾。

我们在success函数中操作DOM,

function(data){

$.each(data,function(i,field){

$("ul").append("<li>"+filed.name+"</li>");

})

}

最后切记刷新listview:  $("ul").listview("refresh")。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值