gpt4 book ai didi

html - jQuery 手机 : Get data passed to page via changePage

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:10 26 4
gpt4 key购买 nike

我试图将一个对象从一个页面传递到另一个页面,根据 JQM 文档,这应该是正确的:

$.mobile.changePage( "about/us.html", { data: {paramUno:"Uno", paramDos:11} });

我的问题是,我不确定加载 us.html 后访问这些值的最佳方式。我为 pageshowpagebeforeshowpageinitpagechange 添加了页面事件回调,在每种情况下,event.data 未定义。执行此操作的正确方法是什么?我宁愿不使用 localStorage 或全局/命名空间变量,除非那是我唯一的选择。

谢谢!

最佳答案

解决方案

像这样发送它们:

$.mobile.changePage('page2.html', { dataUrl : "page2.html?parameter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });

然后像这样阅读它们:

$("#index").live('pagebeforeshow', function (event, data) {
var parameters = $(this).data("url").split("?")[1];;
parameter = parameters.replace("parameter=","");
alert(parameter);
});

可以在此处找到更多示例:jQuery Mobile: document ready vs page events ,只需查找章节:页面转换之间的数据/参数操作

示例:

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>

second.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>

更多信息

如果您想了解有关此主题的更多信息,请查看此 article 。您会发现几个带有示例的解决方案。

关于html - jQuery 手机 : Get data passed to page via changePage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15840611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com