Jquery mobile 当您返回时,jQuery Mobile如何设置页面动画?

Jquery mobile 当您返回时,jQuery Mobile如何设置页面动画?,jquery-mobile,Jquery Mobile,在使用jQuery Mobile的站点上单击“浏览器后退”按钮时,上一页将在中设置动画,而不是立即离开页面。这是如何实现的?我认为他们没有办法拦截浏览器的后退按钮,我可以理解为什么浏览器制造商不允许这样做。感谢使用哈希URL方案时未启用pushState插件: 与单击无关的散列更改,例如当用户 单击back按钮,通过hashchange事件进行处理, 它使用Ben Alman的hashchange绑定到窗口对象 jQuery Mobile中包含的特殊事件插件。当哈希值发生变化时 在加载第一个页面

在使用jQuery Mobile的站点上单击“浏览器后退”按钮时,上一页将在中设置动画,而不是立即离开页面。这是如何实现的?我认为他们没有办法拦截浏览器的后退按钮,我可以理解为什么浏览器制造商不允许这样做。感谢使用哈希URL方案时未启用pushState插件:

与单击无关的散列更改,例如当用户 单击back按钮,通过hashchange事件进行处理, 它使用Ben Alman的hashchange绑定到窗口对象 jQuery Mobile中包含的特殊事件插件。当哈希值发生变化时 在加载第一个页面时发生hashchange事件 处理程序将location.hash发送到$.mobile.changePage 函数,该函数依次加载或显示引用的页面

资料来源:

启用pushState插件时,同样的操作也会进行,但哈希会转换为正常/可读的URL:

有一个可选功能可以转换较长的、基于哈希的URL 上一节中提到的完整文档路径 更干净,使Ajax跟踪在URL结构中透明。 这是在基于散列的URL系统之上构建的增强 对于Ajax链接。请注意,尽管名称不同,此功能在技术上 使用history.replaceState not转换基于哈希的URL 当前版本中的history.pushState,因为它更有效 可靠地跨我们的目标平台。适用于不支持 history.replaceState,或者如果此功能已禁用,则为基于哈希的URL 将改为使用

资料来源:

以下是hashchange事件的MDN文档: