В настоящее время я сталкиваюсь с проблемой фрагментов URL-адресов в одностраничном приложении. При входе в систему пользователь будет перенаправлен через Struts на URL-адрес, содержащий фрагмент URL-адреса/хэш/анкорную часть.
<action name="LoginAction" class="de.my.stuff.LoginAction">
<interceptor-ref name="myStack" />
<result name="error">
<param name="location">/jsp/login.jsp</param>
<param name="anchor">${hash}</param>
</result>
<result name="success" type="redirectAction">
<param name="actionName">LoginSuccessAction</param>
<param name="anchor">${hash}</param>
</result>
</action>
Как видите, фрагмент URL-адреса добавляется через struts с параметром anchor
. Я тестировал это с IE11, Chrome и Firefox.
Chrome и Firefox сохранят информацию из URL-адреса перенаправления. IE11 не будет. Поскольку я не могу быть первым, кто столкнулся с этой проблемой, мой вопрос:
Есть ли хороший обходной путь для IE10 и IE11? Я видел некоторые решения, использующие файлы cookie, но наше приложение должно работать с отключенными файлами cookie.
Я читал блог, где Эрик Ло писал о том, что эта проблема существовала в версиях до IE10:
и он также заявляет, что IE10 и IE11 должны сохранять фрагмент сейчас, но я не могу заставить это работать. Есть ли что-то, что я упускаю?
Пример URL:
http://localhost:1234/myapp#id_123abgheji324
LoginSuccessAction
сам по себеredirectAction
? Если да, то вы нашли проблему. Если нет, продолжайте копать... - person Andrea Ligios   schedule 04.03.2014