Javascript 如何在java脚本中更改浏览器历史记录
我正在创建一个小型web应用程序,并在div中使用ajax加载我的页面 每当用户点击链接,ajax请求页面,然后更新我的div和url。。 在ajax请求之后,当我尝试刷新页面时 它工作正常,并显示当前页面,但当我点击后退按钮时,它是更改顶部url,而不是页面及其内容 这是我的密码Javascript 如何在java脚本中更改浏览器历史记录,javascript,ajax,Javascript,Ajax,我正在创建一个小型web应用程序,并在div中使用ajax加载我的页面 每当用户点击链接,ajax请求页面,然后更新我的div和url。。 在ajax请求之后,当我尝试刷新页面时 它工作正常,并显示当前页面,但当我点击后退按钮时,它是更改顶部url,而不是页面及其内容 这是我的密码 $.ajax({ url: link, type:'POST', data : name, success: function(data) { $("#main").html(data); hist
$.ajax({
url: link,
type:'POST',
data : name,
success: function(data) {
$("#main").html(data);
history.pushState({foo:'bar'}, title, link);
}
}
});
正如@Slaks在评论中所说,您需要处理
窗口.onpopstate
文件:
返回不会改变文档的内容
在上一步中,尽管文档可能会更新其内容
在收到popstate
事件时手动执行
为此,您需要一个状态对象
,该对象在pushState
调用中作为参数传递。状态对象是与新历史记录条目关联的javascript对象。popstate事件仅在活动历史记录条目更改时触发,它将有一个状态对象的副本作为参数。
正如docs所说,history.pushState()
(和history.replaceState()
)方法仅添加(和修改)历史记录条目,原因如下:
调用history.pushState()
或history.replaceState()
不会触发popstate事件。只有在同一文档的两个历史记录条目之间导航时,执行浏览器操作(如单击后退按钮(或在JavaScript中调用history.back()
)才能触发popstate事件
正如@Slaks在评论中所说,您需要处理窗口.onpopstate
文件:
返回不会改变文档的内容
在上一步中,尽管文档可能会更新其内容
在收到popstate
事件时手动执行
为此,您需要一个状态对象
,该对象在pushState
调用中作为参数传递。状态对象是与新历史记录条目关联的javascript对象。popstate事件仅在活动历史记录条目更改时触发,它将有一个状态对象的副本作为参数。
正如docs所说,history.pushState()
(和history.replaceState()
)方法仅添加(和修改)历史记录条目,原因如下:
调用history.pushState()
或history.replaceState()
不会触发popstate事件。只有在同一文档的两个历史记录条目之间导航时,执行浏览器操作(如单击后退按钮(或在JavaScript中调用history.back()
)才能触发popstate事件
您需要处理popstate
事件。是的,我搜索了它,但我不明白,cna请告诉我它是如何工作的?谢谢您正在查找文档。您需要处理popstate
事件。是的,我搜索了它,但我不明白,cna请告诉我它是如何工作的?谢谢你在找文件。