0

我需要两种情况才能工作:

场景 1:当我的用户点击http://example.com/items/3或在 url 栏中输入 url

他们将被定向到在叠加层中显示 item:id 3 的网页。

当他们单击叠加层中的 x 时,他们将显示 /items 索引页面(如果他们已登录)或注册页面(如果他们未登录)。

当 item:id 3 显示在叠加层中时,栏中的 url 将是 /items/3 当显示 /items 时,url 将是 /items

场景 2:我的登录用户现在位于 /items 索引页面。

她单击 /items/3 链接。item:id 3 不是重定向,而是显示在叠加层中。

当她单击叠加层中的 x 时,她又回到了 /items 索引页面。

当 item:id 3 显示在叠加层中时,栏中的 url 将是 /items/3 当显示 /items 时,url 将是 /items

我想要达到的目标:

这两种场景具有相同的外观和感觉,尤其是对于已登录的用户。唯一的区别是流程的起点。

场景 1 从 /items/3 开始。方案 2 从 /items 开始。

这两种情况都需要 url 栏中的 url 根据叠加层是打开还是关闭而改变。

我已经做了什么:

我已经让场景 2 使用 ajax 来获取数据以填充覆盖。

但是,无论显示什么,url 都不会改变。

场景 1 完全没有完成。我什至不知道如何开始。

我发现一个显示场景 1 的示例

在 facebook 提要中,您的网址通常是 www.facebook.com

当你点击一张照片时,你会看到一个带有照片的叠加层,并且 URL 会变成类似 photo.php?fbid=10151124518657496&set=a.10150255078032496.325973.527477495&type=1&theater

当您关闭叠加层时,您会返回到您的提要,并且网址会更改回 www.facebook.com

我的问题

实现我的目标的基本架构解决方案是什么?

4

1 回答 1

0

简短的回答是使用 HTML5 History API。

http://diveintohtml5.info/history.html

我将很快填写更多详细信息以获取长答案。

于 2012-10-28T23:53:40.587 回答