Fire Fox.Ошибка типа: 0 только для чтения - PullRequest
0 голосов
/ 12 июня 2018

Я испытываю эту ошибку только в Firefox.
Не могу найти корень проблемы.
Трассировка стека относится к node_modules / jquery / dist / jquery.js
Конечная точка - этострока внутри jquery
style[ name ] = value; в методе стиля jquery, но в коде моего приложения нет вызовов метода стиля.Может быть, старый Angular.js называет это в ng-style оценке?
Любые предложения приветствуются.

Angular 1.6
Angular 5.2.9 (гибридное приложение)
JQuery 3.3.1 (да,Я знаю, это уродливо, мы собираемся избавиться от него в новой версии нашего приложения на Angular) Firefox 60.0.1

UPD Журнал ошибок.

Ошибка типа: 0 только для чтения Трассировка стека: style @ webpack-internal: ///./node_modules/jquery/dist/jquery.js: 6498: 6 set @ webpack-internal: ///./node_modules/jquery/dist/jquery.js:6764:5 run @ webpack-internal: ///./node_modules/jquery/dist/jquery.js: 6725: 4 отметки @ webpack-internal: ///./node_modules/jquery/dist/jquery.js: 7094: 5 jQuery.fx.tick@webpack-internal: ///./node_modules/jquery/dist/jquery.js: 7436: 9 schedule @ webpack-internal: ///./node_modules/jquery/dist/jquery.js:6813:3 ZoneDelegate.prototype.invokeTask@webpack-internal: ///./node_modules/zone.js/dist/zone.js: 421: 17 onInvokeTask @ webpack-internal: ///./node_modules/@angular/core/esm5/core.js:4956:24 ZoneDelegate.prototype.invokeTask @ webpack-internal: ///./node_modules/zone.js/dist/zone.js: 420: 17 Zone.prototype.runTask@webpack-internal: ///./node_modules/zone.js/dist/zone.js: 188: 28 ZoneTask.invokeTask@webpack-internal: ///./node_modules/zone.js/dist/zone.js: 496: 24 ZoneTask/this.invoke@webpack-internal: ///./node_modules/zone.js/dist/zone.js:485:28 timer @ webpack-internal: ///./node_modules/zone.js/dist/zone.js: 2025: 17

1 Ответ

0 голосов
/ 12 июня 2018

После отладки в веб-инспекторе Mozilla я выяснил, на какой стиль элемента влиял метод стиля jquery.Это был какой-то устаревший код, который должен был удалить элемент после окончания перехода.

$('.digit')
.css({ transform: 'translateY(2.5em)' })
.animate('slow', () => { $('.digit').remove(); });

Как вы можете видеть, метод animate вызывался без определения объекта свойств css.Не знаю, в какой версии JQuery был разрешен такой синтаксис, но я решил проблему с изменением кода следующим образом:

const $digit = $('.digit');
$digit.css({ transform: 'translateY(2.5em)' });
$digit.on('transitionend webkitTransitionEnd oTransitionEnd', () => {
    $digit.remove();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...