-5

我下载了一个类似 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) 中的名称和页面;我现在要做的是节省为创建的每个页面重新编写函数的压力。

4

2 回答 2

1

没有“div 窗口”之类的东西。

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

于 2012-07-30T22:00:10.920 回答
0

假设您对 JavaScript 是什么以及它与 php 之间的区别有基本的了解,尤其是因为您创建了诸如聊天之类的东西。我不得不提醒您 JavaScript 是一种客户端脚本语言。所以它在页面加载后渲染,操作 DOM 元素,并且你拥有页面的任何东西都完成了渲染。因此,您可能需要创建一些依赖 Cookie 的逻辑?或使用 AJAX 将基于 PHP 的会话设置为每个容器 ID,以便在页面加载时重新打开或在页面加载时保持最小化,在页面加载时加载每个元素的关联数据等等。

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

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

于 2012-07-30T22:04:14.597 回答