页面更改位置是否有办法保留一些 HTML元素。
就像div
不会重新呈现但保持状态一样。
你可以在 Facebook聊天找到这样的例子,你可以看到聊天窗口不会改变它的位置,或者当你导航到另一个页面时InnerHtml
。
答案 0 :(得分:-1)
当window.location
更改时,页面会自动完全重新呈现。所以,从这个角度来看,答案是否定的。但是,使用AJAX
可以获得此效果。在页面未重新加载或更改位置时,使用ajax向服务器发出请求(window.location
始终相同)。这是一个以AJAX
开头的好链接:
http://www.w3schools.com/ajax/default.asp
如果您仍希望页面更改其位置,在您发出ajax请求并更新页面上的内容后,您可以使用javascript的history.pushState函数。但是你必须找到一种方法让它跨浏览器(也就是说。让它在IE中工作)。
答案 1 :(得分:-1)
我不确切知道facebook聊天的工作方式,但我知道所有聊天消息都存储在数据库中,因此您可以稍后通过消息访问它们。
我的假设是设置一个Session变量,让facebook的UI知道你打开的聊天内容,或者也可能存储在数据库中。在任何一种情况下,您都必须使用一些外部脚本才能执行此操作。为了方便起见,我们假设您将使用PHP,并将数据存储在SESSION变量中。
/* Storing the variable */
$users = array('user123', 'user456', 'user789');
$_SESSION['chat_windows_open'] = $users;
/* Retrieving the values */
foreach($_SESSION['chat_windows_open'] as $chat) {
/* Use $chat to get the username, query the DB for
the message content, and echo it in whatever form you
wish. */
}