在页面导航中保持div打开

时间:2012-07-30 21:56:11

标签: php javascript ajax jquery

我下载了一个类似Facebook的聊天应用程序,我编辑它以适应我的网站,但我在浏览其他页面时保持聊天会话打开的问题...感谢所有尝试帮助最初,一些建议AJAX请求..我用这段代码试了一下

<script type="text/javascript">
function loadXMLDoc()
{
  var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
       {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
          {
             document.getElementById("site-body-content").innerHTML=xmlhttp.responseText;
          }
       }
      xmlhttp.open("GET","index.php",true);
  xmlhttp.send();

}

每次创建链接时,我都必须重新编写此函数,更改名称和页面     xmlhttp.open(“GET”,“pagename”,true);  我现在要做的是为每个创建的页面节省重写函数的压力。

2 个答案:

答案 0 :(得分:1)

没有'div窗口'这样的东西。

Facebook通过更新栏中的网址来做到这一点,但是通过AJAX请求请求新的页面信息,有效地避免了被认为是正常导航的行为。

答案 1 :(得分:0)

假设您已经掌握了JavaScript的基本知识,以及它与PHP之间的区别,特别是因为您创建了类似聊天的东西......我必须提醒您JavaScript是一种客户端脚本语言。所以它在页面加载后渲染,操作DOM元素以及你有什么页面完成渲染。那么你需要创建一些生活在Cookies之外的逻辑吗?或基于PHP的会话使用AJAX设置为每个容器ID以在页面加载时重新打开或在页面加载时保持最小化,在页面加载时加载每个元素的关联数据等等。

然而,帮助你几乎是不可能的,因为有几百种方法你可以处理这类事情。你在Stack上为我们所有人提供代码以便更好地评估你的问题,我们无法提供太多帮助。

一开始的聊天脚本很难理清,我在堆栈上的体验是大多数人都不热衷于帮助,如果问题听起来像是为我而不是看看我有什么,我怎么能解决这个问题,或改进这一点,或者做得更好。