2013-07-30 2 views
-2

Кто-нибудь знает шаблон шаблона для использования AngularJS в IE8. В документах есть целая секция, посвященная получению Angular, работающей с IE8, и кажется, что требуемые шаги довольно специфичны, но до сих пор я не имел большого успеха в таких командах, как ng-include.AngularJS - шаблон IE8 html

Если шаги являются довольно конкретными, Я предполагаю, что у кого-то есть какой-то шаблонный код где-то, что подтверждено для работы с IE8, было бы признательно, если бы это могло быть общим. По крайней мере, если это не сработает, вы, по крайней мере, знаете, что начали с известной базовой линии и облегчили бы выделение проблем.

+2

Это не так, как это работает. Скорее, покажите, что вы пробовали, расскажите нам, что не получилось, чтобы мы могли помочь вам его исправить. –

ответ

1

Хотя вопрос должен быть более подробным, я могу говорить о том, что я делал в прошлом, для управления кодом IE8.

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

http://yeoman.io/

Yeoman является самоуверенный помощник похож на грабли Rail, которая поможет вам построить ваше приложение быстрее. Просто скачайте генератор-угловатый и йоман, чтобы идти.

https://github.com/yeoman/generator-angular

Если вы не хотите, чтобы интегрировать YEOMAN в свой продукт, посмотрите на то, как старшина устанавливает шаблонного IE8 и скопировать его с помощью тестового приложения.

Надеюсь, это поможет.

4

Я создал 2 производственных приложения, используя AngularJS, которые отлично работают в IE8 с помощью нескольких исправлений javascript.

Во-первых, если консоль разработчика не открыта, инструкции console.log не удастся. Я установил его со следующими JS фрагмент кода на начальной странице, которая нерестится угловое приложение:

// Avoid `console` errors in browsers that lack a console. 
      (function() { 
       var method; 
       var noop = function() {}; 
       var methods = [ 
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 
        'timeStamp', 'trace', 'warn' 
       ]; 
       var length = methods.length; 
       var console = (window.console = window.console || {}); 

       while (length--) { 
        method = methods[length]; 

        // Only stub undefined methods. 
        if (!console[method]) { 
         console[method] = noop; 
        } 
       } 
      }()); 

Во-вторых, я использую toISOString для преобразования метки времени даты. В IE, эта функция не реализована таким образом, я использую этот фрагмент кода:

/*IE8 toISOString hack */ 
      if (!Date.prototype.toISOString) { 
       Date.prototype.toISOString = function() { 
        function pad(n) { return n < 10 ? '0' + n : n } 
        return this.getUTCFullYear() + '-' 
         + pad(this.getUTCMonth() + 1) + '-' 
         + pad(this.getUTCDate()) + 'T' 
         + pad(this.getUTCHours()) + ':' 
         + pad(this.getUTCMinutes()) + ':' 
         + pad(this.getUTCSeconds()) + '.' 
         + pad(this.getUTCMilliseconds()) + 'Z'; 
       }; 
      } 

В-третьих, метод Foreach не поддерживается в IE, поэтому я использую это:

/*IE8 hack to support forEach */ 
      if (!Array.prototype.forEach) { 
       Array.prototype.forEach = function(fn, scope) { 
       for(var i = 0, len = this.length; i < len; ++i) { 
        fn.call(scope, this[i], i, this); 
       } 
       } 
      } 

Все эти кода фрагменты были выгравированы из ответов StackOverflow и работа для меня, но YMMV.

Я прочитал угловую документацию IE8, и я не сталкивался с ситуациями, описанными в документации. Для директив я использую формат: <div directive-name> и все работает нормально.

+0

Установите валидатор кода javascript, например https://github.com/jshint/jshint, и проверьте все ваши файлы javascript. Решение для меня состояло в том, чтобы удалить ненужные запятые и добавить точки с запятой. – Daan

Смежные вопросы