Я только что заметил странное поведение в браузере Edge и потратил довольно много времени, чтобы выяснить, что происходит. Похоже, когда вы устанавливаете ширину и высоту на холсте, тогда Edge будет устанавливать только атрибут width. Проверьте следующий код:
var canvas = document.createElement('CANVAS');
canvas.width = 1020;
canvas.height = 150;
var w = canvas.getAttribute('width'); // gets 1020
var h = canvas.getAttribute('height'); // gets null
Открыть следующую скрипку в Chrome / Edge.
https://jsfiddle.net/gmuy4j95/4/
Решением этой проблемы является установка атрибута вручную.
canvas.setAttribute('height', canvas.height);
Я нашел это, потому что наши ChartJ не корректно рендерились на Edge. Но даже в последней версии ChartJS используется метод getAttribute. Может кто-нибудь объяснить мне, что происходит? Я нигде не нашел этого сообщения об ошибке.