IE:在ReturnUrl中删除了哈希值

时间:2013-04-02 06:24:03

标签: jquery asp.net-mvc internet-explorer

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

当用户下次未经过身份验证时尝试访问已添加书签的网址时,会将其重定向到登录页面,其中返回网址为书签网址。由于哈希值未发送到服务器,因此我将哈希值存储在返回URL的客户端,稍后使用该值将用户重定向到正确的选项卡。

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

1 个答案:

答案 0 :(得分:0)

通过参考另一个SFO项目快速回答:

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

     

Chrome 11,Firefox 4和Opera将全部“重新附加”原始URI   遵循3xx重定向后的片段。

     

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

参考:URL Fragment and 302 redirects