W tym momencie mamy galerię zdjęć, która wykorzystuje wartości hash do określenia, które zdjęcie jest aktualnie wyświetlane użytkownikowi i do wspierania wysyłania strony do znajomego i takie. Coś jak:top.location.replace tworzy element historii w Safari/Chrome
Kiedy załadowaniu odpowiedniego obrazu po kliknięciu przycisku następnego lub poprzedniego, możemy zmienić adres URL według JS 1.1 specyfikacji stosując:
top.location.replace(url.url + hash);
Nasz chciał zachowanie jest że nie jest tworzony żaden element historii, więc użytkownicy mogą użyć przycisku Wstecz, aby opuścić galerię zdjęć, zamiast używać przycisku Wstecz, aby wyświetlić poprzednie obrazy.
W IE i Firefox metoda działa jak urok, ale Safari i Chrome tworzą element historii dla zmienionego adresu URL. Znalazłem wiele próbek, jak tworzyć elementy historii, gdy używam hasha do nawigacji w ten sposób, ale chcę to zrobić w inny sposób. Jakaś wskazówka?
Tak "Zamień (URL) Zamień bieżący dokument na ten pod podanym adresem URL. Różnica od metody assign() polega na tym, że po użyciu replace() bieżąca strona nie zostanie zapisana w historii sesji, co oznacza użytkownik nie będzie mógł użyć przycisku Wstecz, aby przejść do niego. " I dostałem mój błąd, ponieważ to nie działa w Webkit. –
Ja wyjaśnię moją odpowiedź – MyItchyChin
location.hash tworzy elementy historii we wszystkich głównych przeglądarkach poza IE, więc to nie zadziała :-) –