JQuery Mobile 页面参数传递
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递。
1、GET方式:在前一个页面生成参数并传入下一个页面,然后在下一个页面中进行GET内容解析。
2、通过HTML5的Web Storage进行参数传递。
3、建立当前页面变量,在前一个页面将所需传递的参数内容赋值到变量中,在后一个页面从变量中将参数取出来。(程序灵活性较弱)
一、以GET方式实现页面间参数传递
01.
<!DOCTYPE html>
02.
<html>
03.
<head>
04.
<title>练习</title>
05.
<meta charset=
"utf-8"
/>
06.
<meta name=
"viewport"
content="width=device-width,
07.
initial-scale=
1.0
, maximum-scale=
1.0
, user-scalable=
0
;" />
08.
<link href=
"css/jquery.mobile-1.0.1.min.css"
09.
rel=
"stylesheet"
type=
"text/css"
/>
10.
<script src=
"js/jquery-1.6.4.js"
11.
type=
"text/javascript"
></script>
12.
<script src=
"js/jquery.mobile-1.0.1.js"
type=
"text/javascript"
></script>
13.
<script type=
"text/javascript"
>
14.
function getParameterByName(name){
15.
var match = RegExp(
'[?&]'
+ name +
'=([^&]*)'
).exec(window.location.search);
16.
return
match && decodeURIComponent(match[
1
].replace(/+/g,
' '
));
17.
}
18.
$(
'#page_Parameter1'
).live(
'pageshow'
, function(event, ui){
19.
alert(
"第二个页面的参数:"
+ getParameterByName(
'parameter'
));
20.
});
21.
</script>
22.
</head>
23.
<body>
24.
<section id=
"page_Parameter0"
data-role=
"page"
>
25.
<header data-role=
"header"
>
26.
<h3>页面参数传值</h3>
27.
</header>
28.
<div
class
=
"content"
data-role=
"content"
>
29.
<p>传递参数进入下一页,以Alert方式显示参数内容。<br/>
30.
传递参数进入<a href=
"?parameter=4321#page_Parameter1"
rel=
"external"
>下一页</a><br/>
31.
</p>
32.
</div>
33.
</section>
34.
<section id=
"page_Parameter1"
data-role=
"page"
>
35.
<header data-role=
"header"
>
36.
<h3>页面参数传递</h3>
37.
</header>
38.
<div
class
=
"content"
data-role=
"content"
>
39.
<p>通过Alert显示前一个界面参数。<br/>
40.
<a href=
"#page_Parameter0"
>返回</a></p>
41.
</div>
42.
</section>
43.
</body>
44.
</html>
注意:要注明访问的页面形式为外部链接形式rel="external",否则页面间参数传递无法正常执行。
二、通过HTML5 Web Storage特性实现参数传递
通常包含两部分,sessionStorage是将存储内容以会话的形式存储在浏览器中,由于是会话级别的存储,当浏览器关闭之后,sessionStorage中的内容会全部消失。localStorage是基于持久化的存储,类似于传统HTML开发中cookie的使用,除非主动删除localStorage中的内容,否则将不会删除。
检查浏览器支持Web Storage特性:
01.
<!DOCTYPE html>
02.
<html>
03.
<head>
04.
<title>练习</title>
05.
<meta charset=
"utf-8"
/>
06.
<meta name=
"viewport"
content="width=device-width,
07.
initial-scale=
1.0
, maximum-scale=
1.0
, user-scalable=
0
;" />
08.
<link href=
"css/jquery.mobile-1.0.1.min.css"
09.
rel=
"stylesheet"
type=
"text/css"
/>
10.
<script src=
"js/jquery-1.6.4.js"
11.
type=
"text/javascript"
></script>
12.
<script src=
"js/jquery.mobile-1.0.1.js"
type=
"text/javascript"
></script>
13.
</head>
14.
<body>
15.
<script type=
"text/javascript"
>
16.
if
(window.localStorage){
17.
alert(
"浏览器支持localStorage"
);
18.
}
else
{
19.
alert(
"浏览器暂不支持localStorage"
);
20.
}
21.
22.
if
(window.sessionStorage){
23.
alert(
"浏览器支持sessionStorage"
);
24.
}
else
{
25.
alert(
"浏览器暂不支持sessionStorage"
)
26.
}
27.
</script>
28.
</body>
29.
</html>
通常,在jQuery Mobile中实现页面间参数传递时,我们不使用localStorage而是使用sessionStorage,因为不必持久化在本地。
01.
<!DOCTYPE html>
02.
<html>
03.
<head>
04.
<title>练习</title>
05.
<meta charset=
"utf-8"
/>
06.
<meta name=
"viewport"
content="width=device-width,
07.
initial-scale=
1.0
, maximum-scale=
1.0
, user-scalable=
0
;" />
08.
<link href=
"css/jquery.mobile-1.0.1.min.css"
09.
rel=
"stylesheet"
type=
"text/css"
/>
10.
<script src=
"js/jquery-1.6.4.js"
11.
type=
"text/javascript"
></script>
12.
<script src=
"js/jquery.mobile-1.0.1.js"
type=
"text/javascript"
></script>
13.
<script type=
"text/javascript"
>
14.
$(
'#page_Parameter1'
).live(
'pageshow'
, function(event, ui){
15.
alert(
"第二个界面的参数:"
+ sessionStorage.id);
16.
});
17.
</script>
18.
</head>
19.
<body>
20.
<section id=
"page_Parameter0"
data-role=
"page"
>
21.
<header data-role=
"header"
>
22.
<h3>页面参数传递</h3>
23.
</header>
24.
<div
class
=
"content"
data-role=
"content"
>
25.
<p>传递参数进入下一页,以Alert方式显示参数内容。<br/>
26.
传递参数进入<a href=
"#page_Parameter1"
onclick=
"sessionStorage.id=4321"
>下一页</a><br/>
27.
</p>
28.
</div>
29.
</section>
30.
<section id=
"page_Parameter1"
data-role=
"page"
>
31.
<header data-role=
"header"
>
32.
<h3>页面参数传递</h3>
33.
</header>
34.
<div
class
=
"content"
data-role=
"content"
>
35.
<p>通过Alert显示来自前一个界面的参数。<br/>
36.
<a href=
"#page_Parameter0"
>返回</a>
37.
</p>
38.
</div>
39.
</section>
40.
</body>
41.
</html>
JQuery Mobile 页面参数传递的更多相关文章
- JQuery Mobile 页面参数传递(转)
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...
- [ Talk is Cheap Show me the CODE ] : jQuery Mobile页面布
[ Talk is Cheap Show me the CODE ] : jQuery Mobile页面布局 当我们专注地研究人类生活的空虚,并考虑荣华富贵空幻无常时,或许我们正在阿谀逢迎自己懒惰的天 ...
- (二)Jquery Mobile介绍以及Jquery Mobile页面与对话框
Jquery Mobile介绍以及Jquery Mobile页面与对话框 一. Adobe Dreamweaver CS6 环境 最新版本的cs6会支持JM的使用,有自动提示功能,很强大.安装说明地 ...
- jQuery Mobile 页面事件
jQuery Mobile 页面事件 在 jQuery Mobile 中与页面打交道的事件被分为四类: Page Initialization - 在页面创建前,当页面创建时,以及在页面初始化之后 P ...
- 用谷歌浏览器Chrome浏览jQuery Mobile页面需要配置Tomcat服务器
在浏览jQuery Mobile 页面中,除了 Chrome浏览器出错外,其他的浏览器都ok: 这里,是因为需要单独配置 Tomcat 服务: 1.先配置java jdk: 2.下载,安装,配置,To ...
- 02.Jquery Mobile介绍以及Jquery Mobile页面与对话框
一.为什么要学Jquery Mobile JqueryMobile 是jquery的移动版本,懂基本的jquery知识,会简单的html+css就可以完成很多复杂的功能,还有就是这个框架在企业中用 ...
- jQuery Mobile页面跳转切换的几种方式
jQuery Mobile在移动开发中越来越受到欢迎. 而他的各个版本号也在持续不断的更新中.相同的我也非常喜欢它,它加快了我们开发HTML5的速度. 同一时候又具备jQuery一样的操作方法. 学起 ...
- jquery mobile页面跳转缓存问题解决
最近,我的一个写后端的同事因为缺前端自己做起了前端的活儿,因为对前端的不熟悉,找寻了一些现成框架想轻松了事,做一个web app他选了jquery mobile,开发效率确实高,但是这个框架的一些坑也 ...
- jQuery Mobile页面返回无需重新get
最近公司的web app项目,使得我有幸一直接触和学习jQuery Mobile.这确实是一个很不错的移动开发库,有助于擅长web开发的工程师,快速入门并构建自己的移动应用.但是在前两天,我碰到了一个 ...
随机推荐
- codevs 2495 水叮当的舞步
题目链接:水叮当的舞步 我现在开始发题目链接了(主要还是因为懒得整理题面)-- 这道题一开始是看到MashiroSky在写,于是我也开始写这道题了(说白了就是狙击他)-- 这道题看到这么小的范围当然给 ...
- 以libfuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写
一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rp ...
- 申请邓白氏编码的时候总是提示 Enter a valid Street Address 怎么办?
今天要申请一个苹果开发者公司(Company)账号,然后需要邓白氏编码,然后填写企业的基本信息.其中对于Street Address认真的对照着中文翻译为如下格式: Kang Hesheng buil ...
- 【腾讯GAD暑期训练营游戏程序班】游戏中的特效系统作业说明文档
- JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...
- JavaScript类库---JQuery(二)
接上: 6.Ajax: 一个基础底层函数:jQuery.ajax(); //高级工具函数都会调用此函数: 一个高级工具方法:load() ; 四个高级工具函数:jQuery.getScript ...
- 代码生成工具——Entity Framework Power Tools
Entity Framework Power Tools是VS上的一个根据数据库生成Model的Code First映射工具.在VS里面右键即可看到.什么,没有? 别慌,可以单独下载的,见 https ...
- C3P0数据源的使用
1.C3P0数据源的使用 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.C3P0有自己的格式文件,如下 <?xml version= ...
- 【bzoj4517】 Sdoi2016—排列计数
http://www.lydsy.com/JudgeOnline/problem.php?id=4517 (题目链接) 题意 求n个数中正好m个数位置不变的排列数. Solution $${错排公式: ...
- cnblog中添加数学公式支持
在博客中使用数学公式,是一件相对麻烦的事儿,大量的截图和插入图片不仅耗费极大的精力,而且影响写作体验. 虽然对于公式显示已经有多种解决办法,但大多数需要安装插件.而MathML这一雄心勃勃的网页数学语 ...