2015-08-07 6 views
0

Недавно мы обнаружили «сбой» в новом браузере EDGE (Windows 10). Мы с использованием нескольких стилю элементы для dynamcally изменить внешний вид & ощущение нашего веб-приложения, например:EDGE не поддерживает свойство, не имеющее элементов стиля

<style id="st1"></style> 
<style id="st2"></style> 
<style id="st3"></style> 

Во время выполнения мы контролируем правильность различных стилей (через JavaScript) путем изменения инвалидов свойства этого стиля emelemts:

document.getElementById("st2").disabled=true 

до сих пор так хорошо, но наши первые шаги в EDGE (Windows 10 по умолчанию-браузер) обнаружил некоторые ужасные стили ... Кажется, что новый движок не поддерживает замену отключен - стиль элементов - больше. Он всегда проверяет все стилей и, следовательно, последние определения действительны.

ответ

1

Наша первая (лучший) обходной путь для этого сценария (наш сценарий, смотри выше), чтобы манипулировать медиа свойство (атрибут) из стиля элементов, например:

<!-- empty value --> 
document.getElementById("st2").media='' 
<!-- or 'fantasy'-value --> 
document.getElementById("st2").media='disabled' 

Теперь дизайн/стиль показывает красиво, как и раньше :)

EDIT: Для того, чтобы снова включить стиль элементов «таким образом» нужно сделать:

document.getElementById("st2").media='all' 

<!-- sample snippet --> 
if(configuration.processLayoutStyle == item.id) { 
    item.dom.disabled = false; // old-fashioned 
    item.dom.media = 'all';  // "our" workaround 
    this.application.processLayoutStyle = configuration.processLayoutStyle; 
} else { 
    item.dom.disabled = true; // old-fashioned 
    item.dom.media = 'disabled'; // "our" workaround 
}