我是 jquery 以及堆栈溢出的新手。我希望您能在一些可能很简单的事情上提供帮助。我尝试了一些提出的解决方案,但没有一个适合我的情况。
我正在尝试使用 History.js 插件来修复似乎不适用于 Ajax 的后退按钮功能。问题是我无法正确处理插件,所以当我更改状态时,URL 会发生变化,如果我尝试刷新初始模板就会消失。
这是脚本:
<script>
$(function () {
// Prepare
var History = window.History; // Note: We are using a capital H instead of a lower h
if (!History.enabled) {
// History.js is disabled for this browser.
// This is because we can optionally choose to support HTML4 browsers or not.
return false;
}
// Bind to StateChange Event
History.Adapter.bind(window, 'statechange', function () { // Note: We are using statechange instead of popstate
alert('we have a state change');
alert(document.URL);
if (document.URL == 'http://localhost/e-support-uop.com/') {
alert('ok');
$('#main_contents').load('home.php');
}
else {
var State = History.getState();
$('#main_contents').load(State.url);
}
});
$('a').click(function (evt) {
evt.preventDefault();
History.pushState(null, $(this).text(), $(this).attr('href'));
});
});
</script>
这是html的基础知识
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
<script src="javascript/jquery-1.9.1.min.js"></script>
<script src="history.js/scripts/bundled/html4+html5/jquery.history.js" type="text/javascript"></script>
</head>
<body>
....
<div id="main_contents">
<!--all the content goes here and the this is the div that I want to change..-->
...
<div id="rooms">
<img src='images/rooms2.jpg' />
<div class='description'>
<p class='description_content'>
<a href="rooms.php" rel="rooms.php" class='img_link'>Rooms</a>
<!-- on click on this link I need main_contents content refresh -->
</p>
</div>
</div> <!--end main contents -->
</body>
我想更改 div 的内容,但保持刷新功能正常工作。初始模板也应该在那里。