我正在编写代码,创建一个类似于Facebook时间线上查看照片的用户体验...
- 在时间线上查看照片,单击后以模态窗口形式打开。
- 刷新页面后进入专门显示该图片的页面。
- 点击“返回”按钮可以返回到时间线页面。
通过 HTML5 历史记录 API,我已经基本实现了这个功能。以下是单击图像时我的操作:
- 使用
preventDefault()
防止链接(到图片页面)跳转,而是 AJAX 加载带有图像的模态框。 pushState
图片页面的 URI,使其出现在地址栏中。- 刷新页面后直接进入专用的图片页面(从第2步获得的 URI)。
- 然后,点击“返回”按钮,它会在地址栏中显示先前页面的 URI(即时间线),但我仍然停留在图片页面上。
问题:在第4步中,是否有一种方法可以绕过历史记录 API 并使浏览器执行标准的“返回”操作,以便可以返回到以前的页面(即时间线)?
preventDefault()
方法,然后是pushState
和Ajax调用。如果我在Ajax之前或在成功回调中先调用pushState
,同样的问题也会出现。 - wdm