Я построил jQuery мобильный сайт некоторое время назад, и я недавно расширялся и замечал проблемы с производительностью. Я считаю, что это потому, что я построил сайт с использованием многостраничной страницы, где один файл php содержит следующие страницы:
ALL_PAGES.PHP
<html>
<head>
/* external css and js files */
</head>
<body>
<div date-role="page" id="main">
<div class="page_link">
page 1
</div>
<div class="page_link">
page 2
</div>
<div class="page_link">
page 3
</div>
</div>
<div date-role="page" id="page 1">
<div class="page_link">
main
</div>
<div class="page_link">
page 2
</div>
<div class="page_link">
page 3
</div>
</div>
<div date-role="page" id="page 2">
<div class="page_link">
main
</div>
<div class="page_link">
page 1
</div>
<div class="page_link">
page 3
</div>
</div>
<div date-role="page" id="page 3">
<div class="page_link">
main
</div>
<div class="page_link">
page 1
</div>
<div class="page_link">
page 2
</div>
</div>
</body>
</html>
Я хочу оторваться от этой многостраничной установки в одном php файле и перейти к настройке, где каждая страница представляет собой отдельный php файл. Для этого я взял html с каждой страницы и переместил его на свою собственную php-страницу. Затем я добавил ссылки href вместо функций mobile.change(), которые я использовал для классов "page_link".
main.php
<html>
<head>
external css and js files
</head>
<body>
<div date-role="page" id="page 1">
<a href="/main.php">
main
</a>
<a href="/page_2.php">
page 2
</a>
<a href="/page_3.php">
page 3
</a>
</div>
</body>
</html>
PAGE_1.PHP
<div date-role="page" id="page 1">
<a href="/main.php">
main
</a>
<a href="/page_2.php">
page 2
</a>
<a href="/page_3.php">
page 3
</a>
</div>
PAGE_2.PHP
<div date-role="page" id="page 2">
<a href="/main.php">
main
</a>
<a href="/page_1.php">
page 1
</a>
<a href="/page_3.php">
page 3
</a>
</div>
PAGE_3.PHP
<div date-role="page" id="page 3">
<a href="/main.php">
main
</a>
<a href="/page_1.php">
page 1
</a>
<a href="/page_2.php">
page 2
</a>
</div>
Сайт отлично работает, если пользователь не нажал кнопку обновления в браузере. Когда это происходит, каждая страница теряет доступ к любым внешним файлам css и js, расположенным на главной странице. Я новичок в JQM, поэтому любой совет будет полезен.
Попробуй это
$("#whicheverPage").trigger("pagecreate");
Он будет применять улучшения для всех добавленных содержимого на странице при загрузке.