ページが場所を変更してHTML要素を保持する方法はありますか。そのように再レンダリングされdiv
ませんが、その状態を維持します。
Facebookチャットでそのような例を見つけることができます。チャットウィンドウがその場所を変更したりInnerHtml
、別のページに移動したりしても変更されないことがわかります。
PS:どこから始めればいいのかわからないので、ドキュメントをいただければ幸いです。解決策がHTML5ではなくXHTMLであるとよいでしょう。
ページが場所を変更してHTML要素を保持する方法はありますか。そのように再レンダリングされdiv
ませんが、その状態を維持します。
Facebookチャットでそのような例を見つけることができます。チャットウィンドウがその場所を変更したりInnerHtml
、別のページに移動したりしても変更されないことがわかります。
PS:どこから始めればいいのかわからないので、ドキュメントをいただければ幸いです。解決策がHTML5ではなくXHTMLであるとよいでしょう。
Facebookチャットがどのように機能するかは正確にはわかりませんが、すべてのチャットメッセージがデータベースに保存されているので、後でメッセージを介してそれらにアクセスできます。
私の仮定は、FacebookのUIに、開いているチャット、またはデータベースに保存されているチャットを知らせるSession変数が設定されていることです。いずれの場合も、これを行うには外部スクリプトを使用する必要があります。簡単にするために、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. */
}
変更されるとwindow.location
、ページは自動的に完全に再レンダリングされます。したがって、この観点から、答えはノーです。ただし、この効果はを使用して取得できますAJAX
。ページがリロードされたり場所が変更されたりしない間に、ajaxを使用してサーバーにリクエストを送信します(window.location
常に同じです)。ここから始めるのに良いリンクがありAJAX
ます:
http://www.w3schools.com/ajax/default.asp
それでもページの場所を変更したい場合は、ajaxリクエストを行い、ページのコンテンツを更新した後、javascriptのhistory.pushState関数を使用できます。ただし、クロスブラウザにする方法を見つける必要があります(別名、IEで機能させる)。