Html5, JavaScript URL-ul dinamic de substituție fără a reîncărca pagina - note web și sfaturi web

Acest lucru se face folosind pushState () sau replaceState () obiect window.history.

exemplu:

// emulare du-te la pagina „/page2.html“, fără a reîncărca pagina
history.pushState (2, "Titlul 2", "/page2.html");
// înlocuirea adresei URL din „/page3.html“
history.replaceState (3, "Titlul 2", "/page3.html");

Cu ajutorul parametrului funcției 1 st pot fi identificate „pagina de stat“ în momentul pornirii istoriei.
De exemplu: dacă te prind un eveniment schimbarea stării de pagină (eveniment: «popstate»), apoi face mai multe tranziții «pushState» funcție. și apoi apăsați pe butonul „Back“. parametrul «stat» evenimente, obținem valoarea primul parametru care a fost trecut în timpul instalării acestei pagini. Valoarea acestui parametru poate fi, de asemenea, obiectul.

exemplu:

// Set handler "popstate" evenimente:
window.addEventListener ( „popstate“, funcție (eveniment) // obține datele din pagina de stare consola „event.state“:
console.log ( "Pagina de date de stat:", event.state);
>, Fals);
// emulare du-te la pagina „/page4.html“
history.pushState (4, "titlul 4", "/page4.html");
// apoi - pe pagina „/page5.html“
history.pushState (5, "Titlul 5", "/page5.html");

Și dacă după acest cod, apasati butonul „Back“ din browser-ul dvs., vom primi în mesajul consolă:

>> date de stat Pagina: 5

Din motive de siguranță, nu puteți schimba numele de domeniu.

La momentul scrierii, înlocuirea paginii dinamic URL utilizat numai în FireFox 4 și cele mai recente versiuni de browsere pe WebKit motorului (Chrome. Safari).
(La momentul reînnoirii: lucrează deja în Opera)
În ciuda acestui fapt, acest mecanism este deja utilizat intensiv în facebook.com, vkontakte.ru și altele.