Angular не работает на IE9, возможно, из-за внутреннего инжектора?

0

У меня есть приложение с угловым 1.3.15, которое не работает в Internet Explorer 9, я получаю Unable to get property 'replace' of undefined or null reference ошибки, которая указывает на этот блок кода в угловом ядре.

Ошибка вызывается, что многое выполняется правильно, но у меня нет идей, что обычно выполняет эта функция и что отсутствует в IE9 для ее работы.

function createInternalInjector(cache, factory) {

    function getService(serviceName, caller) {
      if (cache.hasOwnProperty(serviceName)) {
        if (cache[serviceName] === INSTANTIATING) {
          throw $injectorMinErr('cdep', 'Circular dependency found: {0}',
                    serviceName + ' <- ' + path.join(' <- '));
        }
        return cache[serviceName];
      } else {
        try {
          path.unshift(serviceName);
          cache[serviceName] = INSTANTIATING;
          return cache[serviceName] = factory(serviceName, caller);
        } catch (err) {
          if (cache[serviceName] === INSTANTIATING) {
            delete cache[serviceName];
          }
          throw err;
        } finally {
          path.shift();
        }
      }
    }

В качестве последней заметки я включил es5-shim и shams, я уже использовал атрибуты data-ng- *, которые я прочитал несколько статей о том, как заставить работать на IE9, но ни одна из них не описывает проблему, подобную этой, Осталось только задать этот вопрос на SO.

  • 1
    Можете ли вы вставить свой код, который в конечном итоге вызывает это?
  • 0
    @MathewBerg Мой код не вызывает этого явно, он запускается автоматически, и я думаю, что он не может найти сервис для внедрения.
Теги:
internet-explorer
internet-explorer-9

1 ответ

0

Поэтому я нашел проблему, добавив точки останова и отладки до тех пор, пока не найду имя службы, в которую он не мог бы ввести $location и это было связано с попыткой использовать режим html5:

$locationProvider.html5Mode(true).hashPrefix('!');

Если я прокомментирую это и использую # маршруты, приложение работает, насколько я могу судить, если у кого-то есть идея о том, как использовать html5mode в IE9, я буду отмечать ваш ответ как правильный, поскольку я не хочу отвечать на мои вопросы собственный вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню