我下载了一个类似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); 我现在要做的是为每个创建的页面节省重写函数的压力。
答案 0 :(得分:1)
没有'div窗口'这样的东西。
Facebook通过更新栏中的网址来做到这一点,但是通过AJAX请求请求新的页面信息,有效地避免了被认为是正常导航的行为。
答案 1 :(得分:0)
假设您已经掌握了JavaScript的基本知识,以及它与PHP之间的区别,特别是因为您创建了类似聊天的东西......我必须提醒您JavaScript是一种客户端脚本语言。所以它在页面加载后渲染,操作DOM元素以及你有什么页面完成渲染。那么你需要创建一些生活在Cookies之外的逻辑吗?或基于PHP的会话使用AJAX设置为每个容器ID以在页面加载时重新打开或在页面加载时保持最小化,在页面加载时加载每个元素的关联数据等等。
然而,帮助你几乎是不可能的,因为有几百种方法你可以处理这类事情。你在Stack上为我们所有人提供代码以便更好地评估你的问题,我们无法提供太多帮助。
一开始的聊天脚本很难理清,我在堆栈上的体验是大多数人都不热衷于帮助,如果问题听起来像是为我而不是看看我有什么,我怎么能解决这个问题,或改进这一点,或者做得更好。