& # 39;返回按钮# 39;将页面恢复到以前的状态
'back button' to revert to previous state of a page?
我有一个主页,有大量的jQuery…隐藏和显示div基于点击选项卡等。在显示的div中有指向其他页面的链接,这些页面回发并获得新页面。
现在我想在页面上有一个"返回"按钮,当用户点击它时返回到页面的前一个状态。因此,如果他们在点击链接时显示了Sell_your_books div
并选择了"Sell_your_books"选项卡,我希望有一个返回按钮可以返回到主页,显示Sell_your_books div
并选择"Sell_your_books"选项卡。
我知道我将不得不解析(POST)一个变量的主页实现这一点与php,但我不确定正确的方式来实现它。
谢谢
使用散列超链接和hashchange
事件。jQuery:
$(window).on('hashchange',function() {
var hash = location.hash.substring(1); // strip the leading # symbol
// now run code based on whatever the value of 'hash' is
});
HTML <a href="#hash1">function A</a>
<a href="#hash2">function B</a>
现在,每当用户单击浏览器的"返回"按钮(或触发history.go(-1))
的HTML按钮),它将返回到先前选择的任何散列并再次触发hashchange事件。
创建一个隐藏的输入字段,并将其填充为当前活动选项卡。
<form>
..
<input type="hidden" name="currentTab" value="" />
</form>
用一点jQuery设置正确的值:
$( YOUR TAB SELECTOR ).on('click', function() {
$('input[name=currentTab]').val( $(this).attr('id') );
});
在处理你的数据的PHP-Script中,你可以像这样创建一个反向链接:
<?php
if( isset($_POST['currentTabe']) && $_POST['currentTab'] != '' ) {
$backLink = "your_page.php?tab=" . $_POST['currentTab'];
}
?>
如果你现在通过反向链接调用你的站点,你可以创建一个额外的文档。ready事件,它将活动选项卡设置为PHP $_GET Parm。
<script type="text/javascript">
<?php
if( isset($_GET['tab']) && $_GET['tab'] != '' ) {
?>
jQuery(document).ready( function() {
var tab = $('#'+ <?=htmlspcialchars( $_GET['tab'] )?>);
if( tab.length <= 0 ) return false; //element not found
//active tab
tab.toggle('click'); //click or do something else to activate the current tab
});
<?php
}
?>
</script>
注意:注意XSS(跨站脚本),所以检查$_POST和$_GET的正确值。
相关文章:
- CSS 动画将恢复为原始状态
- Javascript:保存和恢复样式状态在IE中不起作用
- Javascript:onclick函数工作一次,页面就会恢复到原来的状态
- Web Audio API从暂停状态恢复
- HTML5画布-保存和恢复拖放画布状态
- 如何通过在javascript中单击浏览器的后退按钮将页面恢复到以前的状态
- 从 0 和 1 的数组恢复复选框的状态
- 恢复到以前的状态 - 拖放
- 停止无限CSS3动画并平滑恢复到初始状态
- 向上滚动时,基于滚动位置的 javascript 动画不会恢复到其原始状态
- 如何检测 IHttpActionResult 状态代码在$http/恢复
- 为什么这个 HTML/JS 在更改内部 HTML 后会恢复到原始状态
- 有两个html页面.当我从下一页恢复到第一页时,我希望保存第一页的数据状态
- 使用“:悬停”;并使其恢复到它's较小(初始状态)
- 如何保存和恢复KineticJS的状态
- Rhino:能够暂停、保存状态和恢复javascript
- 通过javascript API保存和恢复Tableau图的当前视图状态
- JQGridtoolbar过滤并恢复具有格式化列的处于编辑状态的行
- 如何从WebSocket客户端计算机进入睡眠状态或应用程序进入后台(iPad上的Safari)中恢复
- & # 39;返回按钮# 39;将页面恢复到以前的状态