Можно переписать/изменить URL-адрес с помощью javascript/Jquery после загрузки страницы
Можно ли переписать URL-адрес без перезагрузки страницы через jQuery/Javascript?
Скажем, у вас есть следующий URL-адрес:
http://stackoverflow.com/questions/ask
можно добавить значение: /pId=XYZ
Итак, вы можете получить
http://stackoverflow.com/questions/ask/pId=XYZ
Возможно ли это?
Все, что вы можете изменить без перенаправления, это хэш-часть URL:
document.location.hash = "whatever";
Да, вы можете, и вам не нужен jquery: просто используйте API истории: https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history
Остерегайтесь, что обычно сложно обрабатывать историю в сложном приложении ajax, так как вам приходится обрабатывать государственную сериализацию страниц, загрузку состояния и т.д. И вы не можете применить это к плохо спроектированному сайту, как и многие аяксифицированные сайты. И это не будет работать на "старых" браузерах, таких как IE9.
вы можете получить текущий Url с
var url = document.location.href;
то вы добавите часть в URL
url += "/mySubFolder";
остальное мое сообщение не соответствовало вопросу... я должен более внимательно прочитать:(!
После столкновения с этой проблемой, я думаю, что ответ @DenysSéguret - это именно то, что вам нужно.
Когда он поддерживается браузером, вы можете использовать
window.history.pushState(stateObj, title, url);
или
window.history.replaceState(stateObj, title, url);
Как указано @DenysSéguret, вы можете найти документацию на сайте
https://developer.mozilla.org/en-US/docs/Web/API/History_API
- Вопросы
- Url-rewriting
- Можно переписать/изменить URL-адрес с помощью javascript/Jquery после загрузки страницы