繁体   English   中英

可以在页面加载后使用javascript / Jquery重写/修改URL

[英]Can Re-write / Modify URL with javascript / Jquery after page load

是否可以重写URL而无需通过jQuery / Javascript重新加载页面?

假设您有以下网址:

http://stackoverflow.com/questions/ask

我们可以附加值: /pId=XYZ

所以你可以得到

http://stackoverflow.com/questions/ask/pId=XYZ

这可能吗?

所有你可以改变而不重定向是url的哈希部分:

document.location.hash = "whatever";

是的,你可以,而且你不需要jquery:只需使用History API: https//developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history

请注意,在复杂的ajax应用程序中处理历史记录通常有点痛苦,因为您必须处理页面的状态序列化,状态加载等。 并且你不能像许多ajaxified网站那样将它应用于设计糟糕的网站。 这不适用于像IE9这样的“旧”浏览器。

是的,我们可以,但仅限于实现pushState的浏览器。

在这里 查看 其他 答案

你可以获得当前的Url

var url = document.location.href;

然后你将部分添加到网址

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM