2012-10-15 200 views
1

之后我怎么能保存网页的状态后按F5。(用PHP或JavaScript)如何保存网页的状态F5

我有这个页面,如果是Ⅱ按下按钮1, div 1消失,如果再次按下div 1,它会再次出现。 按钮2具有相同的功能。 有没有什么办法,如果我按下按钮1(或按钮2)消失div,然后如果我按F5继续div1(或div2)隐藏,??

<input type="submit" id="button1" name="button1" value="ID1"><br/> 

    <div id="div1" name="div1"/> 
    <b>Hello1</b><br> 
    <img src="pic1.png" height="100px" width="100px" /> 
    </div> 
<input type="submit" id="button2" name="button2" value="ID2"><br/> 

    <div id="div2" name="div2"/> 
    <b>Hello2</b><br> 
    <img src="pic2.png" height="100px" width="100px" /> 
    </div> 
<script> 
$(document).ready(function(){ 
     $("#button1").toggle(function(){ 
      $("#div1").hide(); 
     }, 
     function(){ 
      $("#div1").show(); 
     }); 
    }); 
    // 
    $(document).ready(function(){ 
     $("#button2").toggle(function(){ 
      $("#div2").hide(); 
     }, 
     function(){ 
      $("#div2").show(); 
     }); 
    }); 
</script> 

由于提前

+0

是有,他们是所谓的客户端的cookie。 (或者如果你喜欢,html5存储) – TheZ

+0

你可以将所有的JavaScript包装在文档就绪功能中(你不需要两个) – AlexP

回答

1

本地存储

当要保存数据的localy量很大,你有另一个机会 - 使用本地存储(因为HTML5)。你可以直接使用JavaScript或使用可用的jQuery插件。

例如,使用的TotalStorage:

var scores = new Array(); 
scores.push({'name':'A', points:10}); 
scores.push({'name':'B', points:20}); 
scores.push({'name':'C', points:0}); 
$.totalStorage('scores', scores); 
2

一个方法是使用HTML5历史这一点。

var state = { div1: true, div2: false }; 
history.pushState(state, 'Page', 'mypage/10'); 
+1

请提及跨浏览器的兼容性,这个解决方案不适用于许多旧浏览器。 – Undefined

4

那么Cookies可以做到保存上一个状态等等。 如果您不确定在所有浏览器上都可以使用html5。

+1

是的,你说得对,谢谢你的建议 – Kakitori