2015-01-28 6 views
-2

Я пытаюсь создать систему страниц для user_profile.html с использованием параметра из URL-адреса и доступа к JavaScript.Неправильная перенаправление страницы JavaScript

Однако по какой-то причине моя страница не обновляется с использованием параметра #. Я не знаю, почему это происходит. Я поставил свою функцию перенаправления и вывод ниже.

Код:

function pageRedirect(page) { 
    var url = window.location.href.replace('#'+window.location.hash.substr(1), '#'+page); 
    console.log("@@@@"); 
    console.log(url); 
    console.log("@@@@"); 
    window.location.href = url; 
} 

Chrome выход консоли:

@@@@ user_profile.js:296 http://**********/user_profile.html#1 user_profile.js:297 @@@@ Navigated to http://**********/user_profile.html

Даже если URL получает изменилось в одно и то же с #1 в конце концов, это не обновите этот параметр.

+0

Изменение местоположения hash не вызывает обновление страницы. Это специально. Вы можете заглянуть в событие onhashchange и перезагрузить страницу вручную, хотя – slvnperron

+0

Так в чем же решение? – Nicolas

+0

после изменения местоположения, попробуйте 'window.location.reload()' – SuckerForMayhem

ответ

1

Самый простой способ изменить хэш в URL будет:

window.location.hash = page; // not the URL, just the '#something' part without the '#' 

И если вам нужно перезагрузить страницу после этого, вы можете сделать это:

window.location.reload(); 
+0

Хмм. С помощью этого возникает одна и та же проблема: var url = window.location.href.replace ('#' + window.location.hash.substr (1), '#' + page); \t window.location.hash = url; \t window.location.reload(); ' – Nicolas

Смежные вопросы