0

我有一个 asp.net mvc 3 应用程序,我在其中一个经过身份验证的页面中使用 jquery tabs 插件。我使用 localscroll 插件根据用户选择的选项卡更新浏览器中的 url(通过附加所选选项卡的哈希值而不刷新页面)。我必须支持书签功能,如果用户将 url 加入书签,当他使用该书签 url 时,他应该被带到那个选项卡(从哈希值中识别)。

当用户下次尝试在未通过身份验证的情况下访问已添加书签的 url 时,他将被重定向到登录页面,返回 url 为书签 url。由于散列值没有发送到服务器,我将散列值从返回 url 存储在客户端,然后使用它来将用户重定向到正确的选项卡。

问题是 Firefox 和 Chrome 在来自服务器的 302 之后的返回 url 中具有哈希值,但 IE 在返回 url 中没有哈希值。在这种情况下,有没有办法在 IE 的情况下获取哈希值?

4

1 回答 1

0

通过引用另一个 SFO 项目快速回答:

如果发生 HTTP/3xx 重定向,Safari 5 和 IE9 及以下版本会丢弃原始 URI 的片段。如果响应上的 Location 标头指定了一个片段,则使用它。

Chrome 11、Firefox 4 和 Opera 在遵循 3xx 重定向后都会“重新附加”原始 URI 的片段。

测试页面:https ://www.fiddler2.com/test/redir/fragment/

参考:URL 片段和 302 重定向

于 2013-06-14T10:11:22.873 回答