facebookをブラウズしてリンクをクリックすると(友達のプロフィール、ホームボタンなど)、すべてのページが更新されますが、チャットは更新されません。facebookはチャット関連のものをリロードせずにページ全体をリロードする方法は?
ブラウザにページをリロードするように指示することはできますが、ページの一部をリロードしないでください。
facebookをブラウズしてリンクをクリックすると(友達のプロフィール、ホームボタンなど)、すべてのページが更新されますが、チャットは更新されません。facebookはチャット関連のものをリロードせずにページ全体をリロードする方法は?
ブラウザにページをリロードするように指示することはできますが、ページの一部をリロードしないでください。
あなたはthis documentをチェックアウトする場合があります。基本的に、HTML5では実際にページをリロードせずにアドレスバーに表示されるURLを変更できる機能(history.pushState()
,history.replaceState()
およびwindow.onpopstate
)が導入されました。
は、AJAXの行動にまたはのようなものと考えられます。
<body>
<iframe src="content.php" id="content_frame">
<p>Browser does not support iframes.</p>
</iframe>
<iframe src="chat.php" id="chat_frame">
<p>Browser does not support iframes.</p>
</iframe>
</body>
はここでFacebookが実際に行うように見えるものです:それをサポートするブラウザで
history.pushState
(私は最新のChromeとFirefoxのをテストしてみた)facebook.com/events
からfacebook.com/?sfrm=1#!/events/
(またはそれに似たもの)へのhrefを置換するclickイベントのjavascriptハンドラがあります。
魔法の単語はAJAXです。私はFacebookを使用していませんが、Ajaxリクエストを使用して「ページ全体」をロードし、ロードされたデータでDOMを更新するか、ページ全体をロードしてチャットを更新していますこれまでと同じように見える。 – sinelaw
あなたはFacebookのすべてのリンクがAJAXがロードされていることを意味します...それは解決策かもしれません。 –
@ yes123:かなり。 –