zoukankan      html  css  js  c++  java
  • 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")。

  • 相关阅读:
    三次请求(读-改-读)引出nibernate 一级缓存
    算法竞赛入门经典第一、二章摘记
    uva 10905 Children's Game
    uva 11205 The broken pedometer
    uva 10160 Servicing stations
    uva 208 Firetruck
    uva 167 The Sultan's Successors
    zoj 1016 Parencodings
    uva 307 Sticks
    uva 216 Getting in Line
  • 原文地址:https://www.cnblogs.com/hannover/p/4200162.html
Copyright © 2011-2022 走看看