• JQueryMobile页面跳转参数的传递解决方案


       在JQueryMobile开发手机端应用使用可能需要考虑相关的页面跳转带来的参数问题。因为JQueryMobile其实也是HTML5实践的结果。HTML5中有localStorage和sessionStorage使用。最好采用Storage实现比较简单易用。

    例如在页面A跳转B页面,在A跳转前将跳转参数注入到localStorage中,在B页面初始化获取localStorage相关的页面参数。并做相应的处理同时在适当的页面清理页面参数。

    storage.js内容如下:

    Js代码  收藏代码
    1. function kset(key, value){  
    2.     console.log("key"+key+"value"+value);  
    3.     window.localStorage.setItem(key, value);  
    4. }  
    5.   
    6. function kget(key){  
    7.     console.log(key);  
    8.     return window.localStorage.getItem(key);  
    9. }  
    10.   
    11. function kremove(key){  
    12.     window.localStorage.removeItem(key);  
    13. }  
    14.   
    15. function kclear(){  
    16.     window.localStorage.clear();  
    17. }  
    18. //测试更新方法  
    19. function kupdate(key,value){  
    20.     window.localStorage.removeItem(key);  
    21.     window.localStorage.setItem(key, value);  
    22. }  

     

    举例如下:

    简单封装如下:

    Js代码  收藏代码
    1. //临时存储  
    2. var TempCache = {  
    3.     cache:function(value){  
    4.         localStorage.setItem("EasyWayTempCache",value);  
    5.     },  
    6.     getCache:function(){  
    7.         return  localStorage.getItem("EasyWayTempCache");  
    8.     },  
    9.     setItem:function(key,value){  
    10.         localStorage.setItem(key,value);  
    11.     },  
    12.     getItem:function(key){  
    13.         return localStorage.getItem(key);  
    14.     },  
    15.     removeItem:function(key){  
    16.         return localStorage.removeItem(key);  
    17.     }  
    18. };  

     

     在A页面的内容:

      绑定所有workorderclass样式的div

      设置相关的页面参数:

    Java代码  收藏代码
    1. //绑定视图的列表的相关的信息  
    2. function bindListView(changeData){  
    3.     $(".workorderclass").each(function(){  
    4.             $(this).click(function(){  
    5.                 //绑定订单的编号,便于在下一个页面切换时候使用  
    6.                 TempCache.setItem("order_function_mgr_id",$(this).attr("id"));  
    7.                   
    8.                 TempCache.setItem("order_function","serviceOrderFunction");  
    9.                 TempCache.setItem("order_function_mgr_id_w",$(this).attr("id"));  
    10.             });  
    11.              
    12.     });  
    13. }  

     

    在页面B的初始化方法中:

      使用适时清空页面的storage、。

    Js代码  收藏代码
    1.     //工单展示的初始化信息  
    2.     function displayWorkOrder(){  
    3.          //绑定订单的编号,便于在下一个页面切换时候使用  
    4.          var workOrderId=TempCache.getItem("order_function_mgr_id");  
    5.          workOrderId=workOrderId.replace(/(^\s*)|(\s*$)/g,"");  
    6.          //追踪工单来源  
    7.           functionName=TempCache.getItem("order_function");  
    8.           functionName=functionName.replace(/(^\s*)|(\s*$)/g,"");  
    9.             
    10.          if(workOrderId!=''){  
    11.             queryWorkOrderInfo(workOrderId,functionName);  
    12. TempCache.removeItem("order_function_mgr_id");       }else{  
    13.             alert("服务请求失败,请稍候再试....");  
    14.          }  
    15.     }  

     


    http://topmanopensource.iteye.com/blog/1532476

  • 相关阅读:
    [CF724G]Xor-matic Number of the Graph
    [SOJ #537]不包含 [CF102129I]Incomparable Pairs(2019-8-6考试)
    [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
    [洛谷P4052][JSOI2007]文本生成器
    [洛谷P3966][TJOI2013]单词
    [洛谷P5158]【模板】多项式快速插值
    [洛谷P3227][HNOI2013]切糕
    【bzoj】3477: [Usaco2014 Mar]Sabotage 01分数规划
    【SPOJ
    【以前的空间】系列
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839177.html
Copyright © 2020-2023  润新知