Heim >Web-Frontend >H5-Tutorial >Detaillierte Einführung in den Pushstate- und Popstate-Vorgangsverlauf von HTML5 zum Ändern der aktuellen URL ohne Aktualisierung
In diesem Artikel wird hauptsächlich der Pushstate- und Popstate-Vorgangsverlauf von HTML5 vorgestellt, und die relevanten Informationen zum Ändern der aktuellen URL ohne Aktualisierung können sich auf
1. window.history verstehen
window.history stellt den Verlauf desFensterobjekts dar, das aktiv vom Benutzer generiert wird und Javascript akzeptiert Skripte steuern das globale Objekt. Das Fensterobjekt bietet Zugriff auf den Browserverlauf über das Verlaufsobjekt. Es stellt einige sehr nützliche Methoden und Eigenschaften bereit, die es Ihnen ermöglichen, sich im Verlauf frei vorwärts und rückwärts zu bewegen.
1. Vorwärts und rückwärts im Verlauf
Um im Verlauf zurückzugehen, können Sie Folgendes tun:window.history.back();Das ist wie beim Benutzer Das Klicken auf die Zurück-Schaltfläche
des Browsers ist dasselbe.
Ähnlich können Sie vorwärts gehen, indem Sie einfach auf die Schaltfläche „Vorwärts“ im Browser klicken:window.history.forward();
2. Gehen Sie zum angegebenen Verlaufspunkt
Sie können die Methode go() verwenden, um eine Seite aus dem Verlauf der aktuellen Sitzung zu laden, indem Sie einen Wert relativ zur aktuellen Seitenposition angeben (aktueller SeitenpositionIndexWert ist 0, vorherige Seite Das ist -1, und die nächste Seite ist 1).
Um eine Seite zurückzugehen (entspricht dem Aufruf von back()):window.history.go(-1);Um eine Seite vorwärts zu gehen (entspricht dem Aufruf von forward()):
window.history.go(1);In ähnlicher Weise können Sie durch Übergeben des Parameters „2“ um 2 Rekordpunkte vorwärts gehen. Sie können den Längenattributwert überprüfen, um herauszufinden, wie viele Aufzeichnungspunkte es im Verlaufsstapel gibt:
window.history.length;
2. Ändern Sie die Verlaufsaufzeichnungspunkte
1. Speichern Sie den aktuellen historischen Datensatzpunkt
Array auf den Stapel schieben (). Array.push()), Fügen Sie einen Verlaufsaufzeichnungspunkt in window.history hinzu, zum Beispiel:
// 当前的url为:http://qianduanblog.com/index.html var json={time:new Date().getTime()}; // @状态对象:记录历史记录点的额外对象,可以为空 // @页面标题:目前所有浏览器都不支持 // @可选的url:浏览器不会检查url是否存在,只改变url,url必须同域,不能跨域 window.history.pushState(json,"","http://qianduanblog.com/post-1.html");Nach dem Ausführen der pushState-Methode die URL-Adresse der Seite ist qianduanblog.com /post-1.html.
2. Ersetzen Sie den aktuellen Verlaufspunkt
aktualisieren möchten.
3. Überwachung historischer Aufzeichnungspunkte
// 当前的url为:http://qianduanblog.com/post-1.html window.onpopstate=function() { // 获得存储在该历史记录点的json对象 var json=window.history.state; // 点击一次回退到:http://qianduanblog.com/index.html // 获得的json为null // 再点击一次前进到:http://qianduanblog.com/post-1.html // 获得json为{time:1369647895656} }Es ist erwähnenswert: Das onpopstate Zu beachten ist außerdem, dass Google Chrome und
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den Pushstate- und Popstate-Vorgangsverlauf von HTML5 zum Ändern der aktuellen URL ohne Aktualisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!