Я тестирую jquery.pjax.js и замечаю проблему.
В моем минимальном тестовом проекте, странное поведение, как показано ниже бывает:Проблема с кнопкой PJAX и Firefox
- Доступ к index.php в fireflx
- Нажмите ссылку pjax: расположение бара и страницы содержимого изменяются
- Нажмите кнопку назад Firefox,: полоса настройки изменяется, но содержимое остается
Такое поведение не происходит в GoogleChrome.
Я хочу знать, как это решить.
Мой тестовый проект:
http://karasunouta.com/php_test/pjax/
http://karasunouta.com/files/pjax.zip
index.php
<?php
$page = 1;
if (isset($_GET['page'])) {
$page = $_GET['page'];
}
$isPjax = false;
if (!empty($_SERVER['HTTP_X_PJAX'])) {
$isPjax = true;
}
if (!$isPjax):
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>page<?php echo $page; ?></title>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery.pjax.js"></script>
<script type="text/javascript">
$(function(){
// link
$(document).pjax('a.pjax', '#main');
// form
$(document).on('submit', 'form', function(event) {
$.pjax.submit(event, '#main')
})
});
</script>
</head>
<body>
<h1>pjax test</h1>
<ul class="links">
<li><a href="?page=1" class="pjax">page1</a></li>
<li><a href="?page=2" class="pjax">page2</a></li>
<li><a href="?page=3" class="pjax">page3</a></li>
</ul>
<form>
Page:<input name="page" type="text" value="1">
<input type="submit">
</form>
<div id="main" style="border: 3px double gray">
<?php endif; ?>
<?php include("page/{$page}.html") ?>
<?php if (!$isPjax): ?>
</div>
</body>
</html>
<?php endif; ?>
страница/1.html
page1 contents
страница/2.html
page2 contents
страница/3.html
page3 contents
JS/JQuery-1.9.1.min.js
JS/jquery.pjax.js
я столкнулся точно такая же проблема с JQuery 1.9.1 и jquery.pjax.js – Baaju
Спасибо за ваш ответ, Baaju. Пожалуйста, проверьте это: http://stackoverflow.com/questions/15597625/pjax-and-firefox-back-button-issue/15657057#answer-15657057 – karasunouta