修改url并重新加载可以使用Location.assign()
,Location.replace()
方法。
如果修改url但不重新加载,可以使用html5后引入的History.pushState()
,History.replaceState()
。pushState
方法往历史记录中添加新记录,replaceState
方法修改当前历史记录。有相同的参数,如下所示:
- state:一个状态任意属性的对象,在浏览历史时,会触发事件并附上该对象。通常传入
{}
- title:这个历史的标题,貌似不对应html中的title元素。通常传入
""
- url:历史记录中的url,可以是绝对或相对地址,且必须是同源的。
例子:
//如果当前url为http://www.baidu.com/aaa
history.replaceState({},"","/bbb");
//现在为http://www.baidu.com/bbb
参考