Я пытаюсь передать объект со страницы page1.html на page2.html с помощью jquery. Существующее решение имеет сотни страниц, поэтому использование div для каждой страницы в одном и том же файле нецелесообразно.
Содержание Page1.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforeshow", function (event) {
alert("pagebeforeshow event fired - pageOne is about to be shown");
});
function switchPage() {
$(":mobile-pagecontainer").pagecontainer("change", "second.html", { role: "page", stuff: "456", reloadPage: true });
}
</script>
</head>
<body>
<div data-role="page" id="pageone">
<div data-role="header">
<h1>Header Text</h1>
</div>
<div data-role="main" class="ui-content">
<p>Page One</p>
<a href="second.html">Go to Page Two</a>
<input id="Button1" type="button" value="button" onclick="switchPage()" />
</div>
<div data-role="footer">
<h1>Footer Text</h1>
</div>
</div>
</body>
</html>
Это содержимое page2.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforeshow", function (event) {
alert("pagebeforeshow event fired - pageTwo is about to be shown");
});
$(document).on('pagebeforeshow', 'second.html', function (e, data) {
alert("pageTwo alert"); // + data.prevPage.find('#test-input').val());
});
</script>
</head>
<body>
<div data-role="page" id="pagetwo">
<div data-role="header">
<h1>Header Text</h1>
</div>
<div data-role="main" class="ui-content">
<p>Page Two</p>
<a href="#pageone">Go to Page One</a>
</div>
<div data-role="footer">
<h1>Footer Text</h1>
</div>
</div>
</body>
</html>
Ни одно из предупреждений в page2.html не срабатывает, когда страница изменяется с события нажатия кнопки, а сообщение pageOne отображается при нажатии на «ссылку» на странице 1.
Как я могу заставить page2.html отображать свои собственные предупреждения и захватывать данные, передаваемые со страницы 1, поскольку мне нужно перехватывать объект данных, передаваемый со страницы 1, и реагировать на его содержимое на странице 2.
Ссылки, которые я просмотрел, включают: http://jsfiddle.net/Gajotres/XyqvS/
http://www.w3schools.com/jquerymobile/tryit.asp?filename=tryjqmob_event_pagebeforeshow2