AngularUI - Совместимые браузеры
Я пытался открыть веб-сайт AngularUI ( http://angular-ui.github.io/) в IE8. Пользовательский интерфейс не был правильно отображен в IE8(работает нормально в последней версии chrome/firefox). Это привело меня к совместимости поискового браузера модулей AngularUI. Обсуждение в группах указало мне, что модуль AngularUI-bootstrap не поддерживает IE8( https://groups.google.com/forum/), но может найти информацию для других модулей, перечисленных ниже. UI-Utils UI-Модули NG-Grid UI-Router Итак, вопрос в том, совместимы ли эти модули с ie8. Если да, есть ли желание продолжить поддержку в будущем.
3 ответа
Многие из директив AngularUI работают правильно в IE8, если вы не настраиваете их, используя опцию custom element. Проблема в том, что IE8 игнорирует любые элементы, которые не являются стандартным HTML, что, очевидно, выбрасывает этот подход из воды.
Вместо этого используйте атрибутный подход. Например, вместо:
<tabset>
<tab ng-repeat="tab in tabs" heading="{{tab.name}}"></tab>
</tabset>
Использование:
<ul tabset>
<li tab ng-repeat="tab in tabs" heading="{{tab.name}}"></li>
</ul>
В качестве альтернативы вы можете указать IE8 использовать элементы, которые не известны по умолчанию, используя такой скрипт:
<script>
document.createElement("tabset");
document.createElement("tab");
document.createElement("tab-heading");
</script>
Это позволяет IE8 знать, что <tabset>
, <tab>
а также <tab-heading>
являются действительными элементами.
В дополнение к правильному ответу @Paul, который, кстати, должен быть помечен как ответ, здесь приведены пояснения команд Angular и способы их исправления для работы в IE8 Angular IE8. Кроме того, следует отметить, что команда Angular официально прекращает поддержку IE8 в блоге Angular 1.3 и более поздних версиях. Поэтому, если вам нужна поддержка IE8, не используйте Angular 1.3+ и не используйте угловой интерфейс, который использует 1.3+.