jqMobi入门教程 页面传值方式 主要有四种:
1、HTML5 LocalStorage 本地存储
2、隐藏字段
3、扩展属性
4、服务器端的session等
1、HTML5 LocalStorage 本地存储
这种传值方式类似于cookie传值方式,是HTML5的新标准。在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,
前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。
LocalMobelInfo = function () { }; LocalMobelInfo.prototype.putStringData = function (key, value) { localStorage.setItem(key, value + ""); }; LocalMobelInfo.prototype.putBooleanData = function (key, value) { localStorage.setItem(key, value + ""); }; LocalMobelInfo.prototype.putIntData = function (key, value) { localStorage.setItem(key, value + ""); }; LocalMobelInfo.prototype.updateUser = function (name) { localStorage.setItem("USERNAME", name + ""); } LocalMobelInfo.prototype.getBooleanData = function (key) { return "true" == localStorage.getItem(key) ? true : false; }; LocalMobelInfo.prototype.getStringData = function (key) { return localStorage.getItem(key); }; LocalMobelInfo.prototype.getIntData = function (key) { if (!isNullOrUndefined(localStorage.getItem(key))) { return parseInt(localStorage.getItem(key)); } else { return 0; } }; LocalMobelInfo.prototype.getUserName = function () { return localStorage.getItem("USERNAME"); }
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端的文本基本没有差别,服务端的传值方式基本都可以使用。