发布与我面临的解决方案类似的问题。
preserving hash in IE希望它对具有类似302 重定向要求的人有所帮助。
添加答案的重要部分而不是单独的链接
我们SiteMinder在应用程序中使用身份验证。
我发现在成功验证后,SiteMinder正在302 redirection使用名称类似于value/myapp/. 下面的示例表格without hash fragmentredirect

由于redirect隐藏变量值只包含/myapp/不包含散列片段并且它是 302 重定向,因此即使在进入我们的应用程序之前,IE 也会自动删除散列片段,并且无论我们在应用程序代码中尝试的任何解决方案都没有奏效。
IE 仅重定向到/myapp/,它正在登陆我们应用程序的默认主页https://ourapp.com/myapp/#/home。
浪费了将近一天的时间来弄清楚这种行为。
解决方案是:
通过附加现有值更改了登录表单隐藏变量 ( redirect)的值以保存散列片段。window.location.hash类似于下面的代码
$(function () {
var $redirect = $('input[name="redirect"]');
$redirect.val($redirect.val() + window.location.hash);
});
在此更改之后,redirect隐藏变量将用户请求的 URL 值存储为/myapp/#/pending/requests并将SiteMinder其重定向到/myapp/#/pending/requestsIE。
上述解决方案在所有三种浏览器中都运行良好Chrome, Firefox and IE。
感谢@AlexFord 对此问题的详细解释并提供了解决方案。