问题是我的网站只包含一个页面,其中包含一个侧面菜单和一个div,而所有其他页面都加载在其中,问题是所有浏览器的诽谤功能(后退,刷新,书签)都消失了。所以我的问题是有一种方法可以在将页面加载到div时恢复浏览器功能,或者我应该使用另一种方式在主页面中加载页面?。
主页:
<div id="nav" class="mmenu">
<ul id="nav_ul" class="float_left">
<li><a class="upper" id="1" target="collabsoft" href= "profilePage.php?property_variable=mine">My Profile</a></li>
<li><a id="2" class="menu-message"
href= "viewMessages.php">Messages<label id="num_msg">(<?php echo $count; ?>)</label></a></li>
<li><a id="3" class="menu-conference" target="collabsoft" href= "userHomepage.php">My Conferences</a></li>
<li><a id="4" class="menu-conference2" target="collabsoft" href= "availableConferences2.php">Conferences</a></li>
<li><a id="5" class="menu-request"
href= "incomingRequests.php">Requests<label id="num_requests">(<?php echo $total ?>)</label></a></li>
<li><a id="6" class="menu-news"
target="collabsoft" href= "viewNews.php" >News</a></li>
<li><a class="lower" id="7" target="collabsoft" href= "generalOptions.php" >Options</a></li>
</ul>
</div>
<table id="collabsoft_table" class="no_border">
<tr>
<td id="collabsoft_td" class="no_border">
<div scrolling="no" id="collabsoft" name="collabsoft" class="collabsoft"></div>
</td>
</tr>
</table>
<br/>
</div>
答案 0 :(得分:1)
您需要为不同的资源使用不同的URL,否则浏览器将不会保留/更新其历史记录,并且服务器将提供相同的页面。
让我们关注第一个选项(哈希URL),主要是因为浏览器支持。
此外,您没有指定是否使用任何JavaScript框架,我将假设您正在使用jQuery(因为它的受欢迎程度)。
让我解释它是如何运作的:
创建链接时,不要绑定到“click”事件,而是给它一个哈希字符串,例如:
<a href="#about" title="About me">About</a>
单击链接后,浏览器将不会重新加载页面。
然后,使用jQuery History插件绑定到该历史记录更改,例如:
$.History.bind('/about',function(state){
// Load resource using AJAX, update the "main" div, etc.
});