перенаправление JavaScript с хэш-тегом - PullRequest
1 голос
/ 04 февраля 2012

Я реализовал результаты поиска моего сайта с помощью AJAX, используя History.js .Для браузеров HTML5 у меня есть URL-адреса, такие как http://example.com/search/X6a2/3, которые в браузерах, не поддерживающих History API, приятно возвращаются к http://example.com/search/#X6a2/3.

Однако, если URL-адрес HTML5 открывается в старом браузере,новый хэш-тег добавляется к полному URL-адресу, как только страница изменяется.(например, http://example.com/search/X6a2/3#/X6a2/4 - тьфу!)

Все, что мне нужно, - это чистый способ перенаправления на версию, содержащую только хэш-теги, как только обнаружен браузер, отличный от HTML5.window.location.replace(), кажется, игнорирует хеш-тег.Что мне делать?

1 Ответ

3 голосов
/ 04 февраля 2012

Кажется, это работает для меня.Вы уверены, что проблема в window.replace?

var href = "http://example.com/search/X6a2/3";
var idx = href.indexOf('search', 0);
var new_href = href.slice(0,idx+7) + "#" + href.slice(idx+7);

alert(new_href);
window.location.replace(new_href);
...