Rad*_*Hex 5 javascript ajax jquery browser-history jquery-mobile
我正在使用$.mobile.navigate("#test-page", {id:123})
导航到辅助页面.
从页面到页面的导航工作正常....但状态是空的!
文档清楚地表明,状态应包含执行导航时所需的所有信息.
这是我正在使用的代码:
$(window).on('navigate', function(event, data) {
console.log("navigated", data);
console.log(data.state.info);
console.log(data.state.direction);
console.log(data.state.url);
console.log(data.state.hash);
if (data.state.hash === "test-page") {
console.log("Test page", data.state.id);
}
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,数据传递为空:
{
state:{}
}
Run Code Online (Sandbox Code Playgroud)
HTML如下:
<div id="test-home" data-role="page">
<div data-role="header">
<h1>Test Home</h1>
</div>
<div data-role="content">
<div id="test-btn">
Click DIV for TEST page
</div>
</div>
<div data-role="footer">
</div>
</div>
<div id="test-page" data-role="page">
<div data-role="header">
<h1>Test Page</h1>
</div>
<div data-role="content">
Test page
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
希望有人可以提供帮助.谢谢!
$.mobile.navigate
和navigate
event,用于跟踪 URL 历史记录并从 URL 传递/获取数据。它们与浏览器的导航(后退/前进)一起使用。
要使用内部导航在 Web 应用程序内的页面之间动态传递数据,请使用$.mobile.changePage
.
资源:
使用以下代码将数据从页面传递到另一个页面。
$.mobile.changePage('store.html', {
dataUrl: "store.html?id=123",
data: {
'id': '123'
},
reloadPage: true // force page to reload
});
Run Code Online (Sandbox Code Playgroud)
检索数据
$('.selector').on('pagebeforeshow', function () {
var values = $(this).data("url").split("?")[1];
id = values.replace("id=", "");
console.log(id);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2233 次 |
最近记录: |