使用jquery mobile在页面之间传递参数
在jquery mobile中,在页面之间传递参数的正确方法是什么。在jquerymobile的问答中,有一些关于插件的建议。它是强制性的吗?请告诉我正确的方法。没有一个具体的答案。我必须为我的页面中的所有链接传递参数 页面转换之间的数据/参数操作 在页面转换期间,可以将参数从一个页面发送到另一个页面。这可以通过几种方式实现 参考: 解决方案1: 您可以使用changePage传递值:使用jquery mobile在页面之间传递参数,jquery,jquery-mobile,local-storage,Jquery,Jquery Mobile,Local Storage,在jquery mobile中,在页面之间传递参数的正确方法是什么。在jquerymobile的问答中,有一些关于插件的建议。它是强制性的吗?请告诉我正确的方法。没有一个具体的答案。我必须为我的页面中的所有链接传递参数 页面转换之间的数据/参数操作 在页面转换期间,可以将参数从一个页面发送到另一个页面。这可以通过几种方式实现 参考: 解决方案1: 您可以使用changePage传递值: $.mobile.changePage('page2.html', { dataUrl : "page2.ht
$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });
这样读:
$(document).on('pagebeforeshow', "#index", function (event, data) {
var parameters = $(this).data("url").split("?")[1];;
parameter = parameters.replace("parameter=","");
alert(parameter);
});
$('#index').live('pagebeforeshow', function (e, data) {
alert(data.prevPage.attr('id'));
});
[举例][3]:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="widdiv=device-widdiv, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>
</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js">
</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$(document).on('pagebeforeshow', "#index",function () {
$(document).on('click', "#changePage",function () {
$.mobile.changePage('second.html', { dataUrl : "second.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : false, changeHash : true });
});
});
$(document).on('pagebeforeshow', "#second",function () {
var parameters = $(this).data("url").split("?")[1];;
parameter = parameters.replace("parameter=","");
alert(parameter);
});
</script>
</head>
<body>
<!-- Home -->
<div data-role="page" id="index">
<div data-role="header">
<h3>
First Page
</h3>
</div>
<div data-role="content">
<a data-role="button" id="changePage">Test</a>
</div> <!--content-->
</div><!--page-->
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="widdiv=device-widdiv, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>
</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js">
</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<!-- Home -->
<div data-role="page" id="second">
<div data-role="header">
<h3>
Second Page
</h3>
</div>
<div data-role="content">
</div> <!--content-->
</div><!--page-->
</body>
</html>
例如:
解决方案3:
您还可以通过以下方式访问上一页中的数据:
$(document).on('pagebeforeshow', "#index", function (event, data) {
var parameters = $(this).data("url").split("?")[1];;
parameter = parameters.replace("parameter=","");
alert(parameter);
});
$('#index').live('pagebeforeshow', function (e, data) {
alert(data.prevPage.attr('id'));
});
prevPage对象保存完整的上一页
解决方案4:
作为最后一个解决方案,我们有一个漂亮的本地存储HTML实现。它只适用于HTML5浏览器(包括Android和iOS浏览器),但通过页面刷新,所有存储的数据都是持久的
if(typeof(Storage)!=="undefined") {
localStorage.firstname="Dragan";
localStorage.lastname="Gaic";
}
例如:
更多信息
如果你想了解更多关于这个主题的信息,请看看这个。您可以通过示例找到几种解决方案。您也可以将其用于链接中的外部关系(对于我和我的目的来说,这更容易),因此我想与大家分享以下内容: HTML: 在我的例子中,结构='123'是动态创建的,没有人为动态目的写入固定值'123:-)
感谢以上帖子的URL拆分(请支持他的帖子),这只是一个补充/进一步的解释。谢谢Gajotres。做同样的事情有很多方法。但是,这是标准的推荐方式。我的简单示例是,我有一个新闻文章列表。当点击某个新闻文章时,我想将相应的新闻文章id传递给服务器,以便服务器打开新闻详细信息页面。你能用一个例子来说明这一点吗。比如说,我有一个新闻列表——这里的新闻列表指的是项目列表。这是不同的。我的解决方案可以在没有服务器支持的情况下运行。解决方案1适用于您的情况,但这不是标准方法。正确的方法是使用ajax,连接到服务器,提取新页面数据并在另一个页面中显示。这里有一个工作示例:如果我向页面传递了一个参数,并使用dataurl属性进行检索,那么它就可以正常工作。但是,如果我刷新该页面,url参数将不可用。对此应该做些什么。Gajotres-你能澄清一下上面的问题吗。@user694688我创建了一个保留实际URL字符串中变量的文件,以便刷新并直接进入页面工作。在我的情况下,我需要加载id如下的链接
,它不适用于拆分。另请参见对类似问题的回答:
$( document ).on( "pageinit", "#page1", function( event ) {
var parameters = $(this).data("url").split("?")[1];
parameter = parameters.replace("structure=","");
alert(parameter);
});