使用jqMobi开发app基础:页面传值方式

        PC版的web程序两个两个页面之间的传值方式主要有,cookie,查询字符串,还可以通过服务端的session来交换数据.但app的传值方式呢?

     由于app基本都是单页面的方式,查询字符串这种方式似乎行不通了,至少目前个人还没有见到这种例子..

    主要有1HTML5 LocalStorage 本地存储,2隐藏字段,3扩展属性,4服务器端的session等


      1HTML5 LocalStorage 本地存储

      这种传值方式类似于cookie传值方式,是HTML5的新标准。HTML5中,本地存储是一个window的属性,包括localStoragesessionStorage,

  前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。

   参考

     2隐藏字段

     在PC版的web程序中经常使用隐藏字段来存储一些特定的信息,在app中也可以使用,当然有一定限制,在单页面的app中可以传值,因为是单页面,最终会在内存中变成同一个dom,所以可以在一个panel中,设定隐藏字段,在另一个panel中读取隐藏字段。

  例如:   

  <div id="jiekuanshenpi" class="panel" data-load="loadFirstpage" data-defer="jiekuanshenpi.html"   data-tab="navbar_picture"> 
            </div>
             <div id="jiekuanshenpiDetail" class="panel" data-load="loadjiekuanshenpiDetail"  data-defer="jiekuanshenpiDetail.html" jiekuanshenpiDetailId=""  data-tab="navbar_picture">
            </div>
在jiekuanshenpi.html页面中设定隐藏字段的值,在jiekuanshenpiDetail.html中读取隐藏字段的值。

3扩展属性

   使用的限制和原因与隐藏字段是一样的。

  例如:

   如上的代码,多加了一个扩展属性jiekuanshenpiDetailId

   在jiekuanshenpi.html页面中设定扩展属性jiekuanshenpiDetailId的值,  

 $("#jiekuanshenpiDetail").attr("jiekuanshenpiDetailId",id);

   在jiekuanshenpiDetail.html中读取jiekuanshenpiDetailId的值

var jiekuanshenpiDetailId2 = $("#jiekuanshenpiDetail").attr("jiekuanshenpiDetailId"); 
4服务器端session等

  这个和PC端的文本基本没有差别,服务端的传值方式基本都可以使用。

  

你可能感兴趣的:(使用jqMobi开发app基础:页面传值方式)