[英]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.