Как отключить перенаправление #hashbang на IE8 и IE9 в angularjs

У меня есть приложение angularjs (v 1.2.19), которое состоит из двух отдельных html-страниц (или фактически это два отдельных приложения angularjs в одной папке):

  • index.html
  • edit.html

У меня есть некоторые известные проблемы совместимости в IE 8 и 9 (оба не поддерживают API истории html5). Мой конфиг содержит: $locationProvider.html5Mode(true).hashPrefix('!');

У меня нет никакой маршрутизации в приложении - index.html и edit.html можно рассматривать как отдельные приложения angularjs, которые имеют отдельную инициализацию angularjs и т. Д.

Проблема выглядит так: всякий раз, когда я открываю ссылку: http://server/app или же http://server/app/index.html все отлично работает

Всякий раз, когда я открываю ссылку: http://server/app/edit.html от ng-click или непосредственно в браузере страница автоматически перенаправляется на http://server/#!app/edit.html

Как я могу отключить перенаправление hashbang? Edit.html не является частью index.html, поэтому его следует загружать напрямую, без перенаправления index.html и маршрутизации "хэша".

Я попробовал код, расположенный ниже, но это приводит к бесконечному циклу перенаправлений...

<!--[if lt IE 10]>
    <script>   
        window.location = window.location.href.replace( /#.*/, "");
    </script>
<![endif]-->

Любая помощь приветствуется.

1 ответ

Попробуйте отключить html5mode$locationProvider.html5Mode(false).hashPrefix('!');или удалите эту строку полностью.

Другие вопросы по тегам