最近一个月,一直在用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")。

phoneGap+jquery mobile项目经验的更多相关文章

  1. 在DW 5.5+PhoneGap+Jquery Mobile下搭建移动开发环境

    移动设备应用开发有多难,只要学会HTML5+Javascript就可以.用Dreamweaver5.5+PhoneGap+Jquery Mobile搭建移动开发环境,轻轻松松开发你自己的应用.让你用普 ...

  2. PhoneGap+jQuery Mobile+Rest 访问远程数据

    最近研究Mobile Web技术.发现了一个好东西-PhoneGap! 发现用PhoneGap+jQuery Mobile是一个很完美的组合! 本实例通俗易懂.适合广大开发人群:高富帅.白富美.矮穷戳 ...

  3. PhoneGap&jQuery Mobile应用开发环境配置(For Android)

    关于移动应用为什么用PhoneGap和jQuery Mobile本文不再赘述,有兴趣的童鞋可以自行问“度娘”,有很多这方面的文章.本文主要介绍PhoneGap&jQuery Mobile移动应 ...

  4. 转载:用Dreamweave cs 5.5+PhoneGap+Jquery Mobile搭建移动开发

    转载地址:http://blog.csdn.net/haha_mingg/article/details/7900221 移动设备应用开发有多难,只要学会HTML5+Javascript就可以.用Dr ...

  5. PhoneGap+JQuery Mobile移动应用开发学习笔记

    最近一直在学习使用PhoneGap+JQuery Mobile的开发框架开发Android应用,抛开这个框架的运行效率不说,暂且将使用中遇到的问题进行一下整理. 1.JS文件引用顺序 也许在进行web ...

  6. jquery mobile小经验

    现在网站上关于jquery mobile的demo和帖子可真少啊,我刚开始接触,遇到了一些问题,都找不到人请教. 这是我的个人经验总结,或多或少会对刚入门的童鞋有点帮助吧. 如果想一开始进入页面的时候 ...

  7. JQM[jquery mobile] 实战经验汇总

    动态装载的子页面(data-role=”page”),完全不用page div之外的tag,也不会起作用.子页面的javascript脚本必须写在page的</div>之前. 切换按钮(a ...

  8. jQuery Mobile中文手册:开发入门

    jQuery Mobile 以“Write Less, Do More”作为目标,为所有的主流移动操作系统平台提供了高度统一的 UI 框架:jQuery 的移动框架可以让你为所有流行的移动平台设计一个 ...

  9. jQuery Mobile学习日记

    本次主讲人是王思伦啦啦啦~ 框架特性 jQuery Mobile 以“Write Less, Do More”作为目标,为所有的主流移动操作系统平台提供了高度统一的 UI 框架:jQuery 的移动框 ...

随机推荐

  1. 利用Linux的Samba服务模拟NT域

    利用Linux的Samba服务模拟NT域 Samba是一个与Windows NT具有相同协议的软件包.我们可以利用Samba服务来模拟 Windows NT域,使用户从Windows计算机上直接使用一 ...

  2. 整合 Ext JS 和第三方类库

    介绍 ExtJS提供了许多高度可定制化内置组件.如果它不在框架(framework)里面,你可以很容易的扩展这些类,或者浏览Sencha市场(Sencha Market) 寻找你可能需要的任何东西.那 ...

  3. Java Run-Time Data Areas

    前言 本文主要介绍JVM的运行时数据区 来自Oracle文档 Java Virtual Machine Specification -- Chapter 2. The Structure of the ...

  4. secureCRT在Windows上面的安装过程

    参考这篇文章: https://www.cnblogs.com/yjd_hycf_space/p/7729796.html

  5. 【Scala】Scala学习资料

    Scala学习资料 java 树形 分类器_百度搜索 决策树分类器-Java实现 - CSDN博客 KNN分类器-Java实现 - CSDN博客 学习:java设计模式—分类 - 飞翔荷兰人 - 博客 ...

  6. ProBase

    http://haixun.olidu.com/probase.html A Data Driven Semantic Network for Text Understanding Probase i ...

  7. 大规模SNS中兴趣圈子的自动挖掘

    转自:http://www.infoq.com/cn/articles/zjl-sns-automatic-mining 一.为何要在大规模SNS中挖掘兴趣圈子 随着国外的facebook.twitt ...

  8. EF 数据类型 0xA7 的数据长度或元数据长度无效

    测试方法 TestProject1.SysTest.HtmlAnalysisTest12 引发异常:  System.Data.UpdateException: 更新项时出错.有关详细信息,请参阅“I ...

  9. Spring(十三):使用工厂方法来配置Bean的两种方式(静态工厂方法&实例工厂方法)

    通过调用静态工厂方法创建Bean 1)调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不需要关心创建对象的具体细节. 2)要声明通过静态 ...

  10. C++ 函数适配器

    1.考虑下面的需求,在一个int的vector中,找出一个比5的元素,容易想到的解决办法,定义一个方法对象,使用模板,如下:vector<int>::iterator iter = fin ...