Я получил ту же ошибку:
Uncaught TypeError: Array.prototype.forEach called on null or undefined at mootools-1.2.5-core-nc.js:81
и нашел решение, которое работает для меня:
В файле mootools-1.2.5-core-nc.js
(или где бы ни находился ваш код, похоже, он работает и для более старых версий) замените следующую строку (# 2901 в mootools-1.2.5-core-nc.js
):
var rules = sheet.rules || sheet.cssRules;
по этой строке:
var rules = sheet.rules || sheet.cssRules || [];
По-видимому, ни sheet.rules
, ни sheet.cssRules
не обязательно должным образом инициализированы, поэтому простое назначение пустого массива в качестве третьей альтернативы переменной rules
исправляет это.
По какой-то причине Chrome кажется здесь более чувствительным (или точным), чем обычные подозреваемые ...;)
Соответственно, если вы используете сжатую версию, замените эту строку (ну, сжатая строка):
var F=E.rules||E.cssRules;
этим:
var F=E.rules||E.cssRules||[];
Поскольку в сжатых версиях внутренние переменные переименовываются в более короткие значения, ваша переменная может и не иметь названия F
, как в моем случае, но вы поняли:)
РЕДАКТИРОВАТЬ: так как это похоже на реальную ошибку, я сообщил об этом в багтрекер MooTools Core, поэтому, возможно, они исправят это в официальных выпусках (https://github.com/mootools/mootools-core/issues/2345).