您可能认为这是重复的,但事实并非如此。我已经看到其他有关使用replaceState()
更改浏览器网址的SO答案,但我遇到了问题......
在我网站的一个网页上,它会收到很多参数,因此链接会一直打开......我做了replaceState()
,它缩短了网址。那很有效。如果我继续使用另一个链接,并且我在历史记录中返回,则该网址仍将与我在replaceState()
上定义的相同,并且页面会出现404错误。有没有办法只是加载链接,然后暂时更改URL,以便用户没有看到一个巨大的链接,但系统使用实际的URL?
我正在使用JSP,请继续使用JavaScript,JQuery或Java给我答案。
答案 0 :(得分:1)
您可以将参数存储在localstorage(即cookie)中,然后让您的下一页从localstorage中取消它们,从而减少第一个位置所需的URL大小。示例代码(从Storing Objects in HTML5 localStorage中窃取):
// add to storage
localStorage.setItem('myAttibute', 'acceptable');
// Retrieve the object from storage (on another page)
var sMyAttibute= localStorage.getItem('myAttibute');
alert("myAttibute=" + sMyAttibute);
希望它会告诉你我的属性是可以接受的。