Javascript 窗口式facebook聊天

Javascript 窗口式facebook聊天,javascript,jquery,css,facebook,chat,Javascript,Jquery,Css,Facebook,Chat,Facebook聊天窗口保持打开、不变,以刷新页面,甚至当我们更改页面时。如何复制类似的东西?尝试使用框架集,但不起作用 如何保持div打开类似于内部的窗口,即使在刷新网页或网站链接后?与它们类似,您可以尝试- 这些数据在facebook页面之间共享。可能是HTML5localStorage?饼干?我不确定 如果您注意到,它们不会“刷新”页面,而是刷新页面上的内容以备后续加载。(当然,除非您手动导航到同一页面。) 最后,它的所有CSS主要是一些z-index投入使用 我希望这3个足够让你开始了。

Facebook聊天窗口保持打开、不变,以刷新页面,甚至当我们更改页面时。如何复制类似的东西?尝试使用框架集,但不起作用


如何保持div打开类似于内部的窗口,即使在刷新网页或网站链接后?

与它们类似,您可以尝试-

  • 这些数据在facebook页面之间共享。可能是HTML5
    localStorage
    ?饼干?我不确定

  • 如果您注意到,它们不会“刷新”页面,而是刷新页面上的内容以备后续加载。(当然,除非您手动导航到同一页面。)

  • 最后,它的所有CSS主要是一些
    z-index
    投入使用


  • 我希望这3个足够让你开始了。

    我认为Facebook的整个页面都没有加载。每个环节都有自己的“目标”。他们中的大多数人都会获取一个页面(我认为只是使用AJAX)来显示,而其他人则只是更改屏幕的某些部分。比如说,你有两个div。一个div是chat-div。定位固定且全部,z-index为100,它将始终保持在顶部。页面的其余部分是另一个div。在这个div中,您可以使用AJAX加载某些页面,而无需刷新整个屏幕


    与重新加载屏幕一样:无论用户是关闭聊天屏幕还是打开聊天屏幕,您都可以轻松保存(也可以使用AJAX)。只需在数据库中创建一个名为“chats”或其他内容的表,然后在打开chatscreen时,在该表中输入一个条目,其中包含“person_1”、“person_2”、“lastmessage”和“active”。当他们关闭聊天时,您可以将“活动”字段设置为false。然后,每当有人加载整个网站时,您都会检查表中是否有活动聊天,并在有活动聊天时显示

    我会研究qjuery-qjax:

    从他们的文档中:

    pjax的工作原理是通过ajax从服务器获取html,并用ajax的html替换页面上容器的内容。然后,它使用pushState更新浏览器的当前url,而无需重新加载页面布局或任何资源(js、css),从而呈现快速、完整的页面加载。但实际上这只是ajax和pushState


    您必须将窗口的状态保持到某个位置。cookie、会话或数据库(或任意数量的内容)。如果使用浏览器按钮重新加载页面,它不会“保持打开”-它会与页面上的所有其他内容一起重新加载。你使用他们的用户界面所做的一切都是简单的ajax,而不是从服务器上重新加载页面,他们只是在原地更新页面的各个部分,而不是触摸聊天部分。当你更改页面时,它确实会重新加载,只是速度非常快,所以你不会注意到。