Javascript 在XMLHTTPRequest刷新之间保存div可见状态

Javascript 在XMLHTTPRequest刷新之间保存div可见状态,javascript,php,html,css,Javascript,Php,Html,Css,我有一个调用php页面的html页面,如下所示。它每10秒刷新一次。菜单php页面有一组div,其中具有可切换的可见性。div及其id的数量是通过从数据库读取动态确定的。每当php部分刷新时,div就会自动变为不可见,这很烦人。我想知道是否有一种方法可以在刷新之间告诉我的php页面哪些div以前可见,哪些div不可见 function refresh (){ var menu=new XMLHttpRequest(); menu.onreadystatechange=function(){

我有一个调用php页面的html页面,如下所示。它每10秒刷新一次。菜单php页面有一组div,其中具有可切换的可见性。div及其id的数量是通过从数据库读取动态确定的。每当php部分刷新时,div就会自动变为不可见,这很烦人。我想知道是否有一种方法可以在刷新之间告诉我的php页面哪些div以前可见,哪些div不可见

function refresh (){
var menu=new XMLHttpRequest(); 

menu.onreadystatechange=function(){ 

if (menu.readyState==4 && menu.status==200){ 
    document.getElementById("menuDiv").innerHTML=menu.responseText; 
   } 
} 
menu.open("GET","menu.php",true); 
menu.send();
}

您可以尝试像这样使用localStorage

localStorage["test"] = menu.responseText;
像这样使用它

document.getElementById("menuDiv").innerHTML = localStorage["test"];
更多关于本地存储的信息。

这适用于较新的浏览器,但如果您想同时支持较旧的浏览器,则需要使用cookie

如果需要在服务器端存储信息,可以使用会话变量。这里有更多


我可以从html文件中传递本地存储、cookie或会话值以在php文件中使用吗?您可以查询查询字符串和$\u GET['test']在服务器和客户端之间来回传递。html文件中javascript上的localStorage和php文件中的$\u GET是同一个数组?请查看此处的答案以获取更具体的代码。localStorage只能存储字符串。另外,javascript和php并没有按照您建议的方式进行真正的交互,您只能以各种方式传递信息,例如POST或GET,或者在服务器到客户端打印javascript内部的变量的情况下。您还可以参考这里关于服务器脚本和客户端脚本之间差异的答案