На данный момент у нас есть фотогалерея, которая использует hashvalues, чтобы определить, какое изображение в настоящее время отображается пользователю, и поддерживать отправку страницы другу и тому подобное. Что-то вроде:top.location.replace создает элемент истории в Safari/Chrome
Когда мы загрузили соответствующий снимок после нажатия на следующую или предыдущую кнопку, мы изменяем URL в соответствии с JS 1,1 спецификации с помощью:
top.location.replace(url.url + hash);
Наш хотел поведение что элемент истории не создается, поэтому пользователи могут использовать кнопку «Назад», чтобы оставить фотогалерею, вместо использования кнопки «Назад», чтобы увидеть предыдущие снимки.
В IE и Firefox метод работает как шарм, но Safari и Chrome делают элемент истории для измененного URL. Я нашел много образцов, как создавать элементы истории при использовании хэша для навигации, как это, но я хочу сделать это по-другому. Любая подсказка?
Да «заменить (url) \t Заменить текущий документ на предоставленный URL. Отличие от метода assign() заключается в том, что после использования replace() текущая страница не будет сохранена в истории сеансов, что означает пользователь не сможет использовать кнопку «Назад», чтобы перейти к ней ». И там у меня есть ошибка, потому что это не работает в Webkit. –
Я объясню свой ответ – MyItchyChin
location.hash создает элементы истории во всем главном браузере, кроме IE, так что это не сработает :-) –