4

伙计们!
我使用 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> 

我需要从第一页更改为第二页,并发送一些参数通常是
我尝试使用此方法的 URL:

$.mobile.changePage('#secondPage',
    {
        data: {id: 123, module: 111}
    }
);

使用此方法后,第一页上的元素被隐藏,url 被更改,
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';

这种方法是有效的)))但是当我尝试返回第一页时,页面已更改,但在 URL 中仍保留数据

www.mydomain.com/main.html?id=123&module=111

然后我尝试使用下一个方法删除这些数据

location.href = location.href.replace(location.origin, "").replace(location.pathname, "");

但是在这种方法之后,我的 firstPage 被循环更改。
请帮助各位。当我返回到 firstPage 时,如何将数据发送到 secondPage 并删除这些数据?
我的后退按钮使用原生 jquerymobile 方法返回。

<a data-theme="a" data-role="button" data-transition="fade" href="#firstPage" data-iconpos="notext" class="ui-btn-left backButton"></a>

附言。对不起我的英语,我的英语水平是初级的

4

1 回答 1

1

如果您在一个 html 中定义两个页面,则不必将参数发送到具有 URL 的其他页面。只需使用 javascript 变量和页面事件来使用它们。

如果您使用 URL 参数来运行服务器端代码,只需使用不同的 .html 文件。一个 html 文件,一种页面样式。

但是对于移动设备上的平滑过渡效果和最佳用户实验,我更喜欢使用 AJAX 并实时创建/更改页面,

此致

于 2013-04-11T23:17:54.657 回答