家伙!
我使用jquerymobile 1.3.0和jquery 1.9.1
我有2个(更多)jquerymobile页面
例如:
<div data-role="page" id="firstPage">
<!-- Header -->
<div data-role="header">
<h3>First page</h3>
</div>
<!-- Body -->
<div data-role="content">
some content ...
</div>
</div>
<div data-role="page" id="secondPage">
<!-- Header -->
<div data-role="header">
<h3>Second page</h3>
</div>
<!-- Body -->
<div data-role="content">
some content ...
</div>
</div>
我需要从第一页更改为第二页,并通常发送一些params URL 我试着用这个方法:
$.mobile.changePage('#secondPage',
{
data: {id: 123, module: 111}
}
);
在此方法之后,首页上的元素为隐藏,网址将更改为www.mydomain.com/main.html?id=123&module=111
但页面没有变化。我认为为了将页面更改为URL到此页面的哈希值
并且URL必须是
www.mydomain.com/main.html?id=123&module=111#secondPage
然后我尝试使用:
location.href += '?id=1234&module=111#secondPage';
此方法是有效的))) 但是,当我尝试返回firstPage时,页面被更改,但在URL中仍然是数据
www.mydomain.com/main.html?id=123&module=111
然后我尝试使用下一个方法删除此数据
location.href = location.href.replace(location.origin, "").replace(location.pathname, "");
但是在这个方法之后我的第一页被循环改变了
请帮帮我们当我回到firstPage时,如何将数据发送到secondPage并删除这些数据?
我的后退按钮使用原生的jquerymobile方法返回。
<a data-theme="a" data-role="button" data-transition="fade" href="#firstPage" data-iconpos="notext" class="ui-btn-left backButton"></a>
P / S。对不起我的英语,我的英语水平是基本的
答案 0 :(得分:1)
如果在一个html中定义两个页面,则不必使用URL将参数发送到其他页面。只需使用javascript变量和页面事件即可使用它们。
如果使用URL参数运行服务器端代码,只需使用不同的.html文件。一个html文件,一种页面样式。
但是对于移动设备的平滑过渡效果和最佳用户实验,我更喜欢使用AJAX并直接创建/更改页面,
祝你好运