FBはページを再読み込みせずにリフレッシュする方法(xmlHttpRequest)でも、前/後のボタンは引き続き通常どおり動作しますか?FBはページをリロードせずにページをリフレッシュする方法(xmlHttpRequest)では、[戻る]ボタンはまだ動作しますか?
history.pushState()
の方法を使用しているわけではありません。 PushState()
はURL文字列のみを変更しますが、[戻る]ボタンをクリックすると前のページを表示するのに何もしません。だからそれは違う。
ここに私のコードと例があります。
私はそのようなサイトを持っています(下の写真を見てください)。 Header-divおよびContent-div。最初に開いたときに、URLはmysite.com/page1.php.
です。ページをリロードせずにContent-divのコンテンツを変更したいと思います。 Content-divに新しい情報が表示されます。 URLはmysite.com/page2.php
に変更されます。
ここにHTMLコードがあります。
<div id="content"></div>
<a href="" id="relaodLink">Reload Content</a>
ここにJSコードがあります。
document.getElementById("relaodLink").onclick = function() {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "page2.php", true);
xmlHttp.send();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
document.getElementById("content").innerHTML = xmlHttp.responseText;
}
}
return false;
}
ので、ヘッダーはrelaodLink
、コンテンツdivの変化におけるコンテンツだけを押した後にリロードするべきではありません。そして最も重要なのは、ページが実際に再読み込みされたようにURLが変わることです。 「戻る」ボタンはmysite.com/page1.php
に移動し、「進む」ボタンを押すとmysite.com/page2.php
に戻ります。 history.pushState()
メソッドでは動作しません。しかし、FBのBack and Forward Buttonsではうまく動作します。それを作る方法?
a busy cat http://www.ljplus.ru/img4/a/_/a_ya_vishe/primer-xmlhttp_3.jpg
とにかく動作しません。アドレスバーのアドレスを変更するには、この 'window.location.hash ="#page2 ";'を実行します。したがって、結果は 'history.pushState()'と同じです。つまり、URLが変更されると、履歴の1つのステップが表示されますが、それは前のページにはなりません。アドレスバーだけが 'mysite.com/page1.php'からmysite.com/page1に変更されます。php#page2'と戻る。内容は同じです。 – Green
@ GuruC誰もこれについてこれ以上の情報を持っていますか?私はこれをどのように動作させるのか不明です。 –
チャット中に左側のメニューから1つのリンクをクリックすると、URLが完全に変更されます(#部分だけでなく)、チャットメニューがちらつくことはありません。私はそれが起こっているかどうかわかりません。なぜなら、通常はリフレッシュをクリックすると、ページのリロードに気付くからです。 – Tanmoy