YUI на IE8: Аргумент недействителен на dom-style.js
Я спрашивал об этом везде, но до сих пор не получаю никакой обратной связи и сводит меня с ума. Мы используем некоторые виджеты Alloy UI на портале, с которым я работаю (Liferay 6.2), и все отлично работает во всех браузерах, кроме IE8. По какой-то причине я получаю сообщение об ошибке относительно недопустимого аргумента в одной из функций файлов ядра YUI относительно setStyle (что вы используете для добавления стилей к узлу в YUI). Я понял, что IE8 не доволен этим (вот вся функция YUI):
setStyle: function(node, att, val, style) {
style = style || node.style;
var CUSTOM_STYLES = Y_DOM.CUSTOM_STYLES;
if (style) {
if (val === null || val === '') { // normalize unsetting
val = '';
} else if (!isNaN(new Number(val)) && re_unit.test(att)) { // number values may need a unit
val += Y_DOM.DEFAULT_UNIT;
}
if (att in CUSTOM_STYLES) {
if (CUSTOM_STYLES[att].set) {
CUSTOM_STYLES[att].set(node, val, style);
return; // NOTE: return
} else if (typeof CUSTOM_STYLES[att] === 'string') {
att = CUSTOM_STYLES[att];
}
} else if (att === '') { // unset inline styles
att = 'cssText';
val = '';
}
style[att] = val;
Что заставляет IE8 сообщать об ошибке, так это строка:
style[att] = val;
видимо из-за
val =' ';
Я не понимаю, почему другие браузеры не имеют проблем с этим объявлением, и только IE8 жалуется на это. Так как это является частьюДом-style.js который является основным файлом для YUI в Liferay, я действительно не хочу связываться с этим кодом. Я ДЕЙСТВИТЕЛЬНО буду признателен за любую помощь, так как я занимался этим целую неделю и до сих пор не могу найти решение и / или информацию на www о подобной проблеме.