Я запускаю Angular JS v1.4.7, и приложение полностью вылетает в Internet Explorer 10 и 11 (мы не поддерживаем старые версии). Когда я проверяю консоль, я вижу: Error: [$rootScope:infdig]
, что несколько объяснено here.
Он отлично работает без ошибок в других браузерах.
После многих проб и ошибок, я был в состоянии изолировать проблему на один бит логики в одной из директив, которые я упростил:
tsApp.directive('svgIcon', function($timeout) {
return {
restrict: 'E',
replace: true,
scope: {
inlinesvg: '=',
orientation: '@',
themeid: '@',
scale: '@',
verticalAlign: '@'
},
template: '<span ng-bind-html="inlinesvg | unsafe"></span>',
link: function(scope, element, attrs) {
/* @TODO Synchronize with similar function in Mode Icon directive */
/* Function updates inlinesvg to avoid flicker */
scope.setLogoDimensions = function() {
/* Obtain svg attributes */
var svg = angular.element(scope.inlinesvg);
/* ... */
/* Reinsert raw svg with jQuery conversion */
scope.inlinesvg = $('<div>').append(svg.clone()).html();
};
/* Resize if new inlinesvg */
scope.$watch('inlinesvg', function() {
scope.setLogoDimensions();
});
}
};
});
я могу включить вопрос о/от закомментировав последнюю строку setLogoDimensions
: scope.inlinesvg = $('<div>').append(svg.clone()).html();
Любая идея, почему эта ошибка возникает только в IE 11, а не в Firefox 52.3? –