JS для обновления окна Location с URL, а не HASH

Я создаю веб-приложение для входа / регистрации и т. Д. И не хочу, чтобы страница обновлялась.

www.mysite.com

Я знаю, как установить хэш на URL, не обновляя страницу:

location.hash

дать: www.mysite.com/#signin

Но чего я хочу: www.mysite.com/signin

Без хэша, так что это оптимизировано для SEO. Кроме того, однажды я установил это. Как в JavaScript я могу прочитать первый путь после /, чтобы я мог обнаружить SignIn, Register,AboutUs и т. Д., И показать соответствующий контент?

Спасибо!

3 ответа

Решение
document.location = "signin";

Это обновит страницу. Нет способа обойти это без использования якоря (хеша).

Затем, чтобы прочитать страницу, на которой вы находитесь:

var page = document.location;
var path = page.pathname;

if (path == "signin") {
    // do something
}

Если ваш "входящий" контент действительно находится на той же странице, то хеш не имеет никаких преимуществ или недостатков, поскольку страница будет сканироваться и индексироваться независимо от формата URL. Смотрите это ТАК сообщение.

Вы не можете изменить местоположение через JS без принудительной загрузки страницы. Только хеш-часть может быть изменена без принудительной загрузки страницы.

Другие вопросы по тегам