Виджет Cumulocity SCADA в Internet Explorer

Мои виджеты SCADA правильно отображаются в Chrome и Firefox, но не в Internet Explorer (я пробовал IE 11). Может быть, это общая проблема IE/.svg, а может быть, я что-то не так понял, вот выдержка из моего .svg:

...
<g
    id="layer1-1-7"
    inkscape:label="Layer 1"
    transform="translate(90.285715,99.790733)">
    <!--{{state1}}-->
    <rect ... ng-class="{spotFree: state1=='free', spotOccupied: state1!='free'}" ... />
    ...
</g>
...
<style
    id="style3348"
    type="text/css">
    .spotOccupied {
        fill:#ff0000;
    }
    .spotFree {
        fill:#00ff00;
    }
</style>
...

Итак, на самом деле просто прямоугольник, который должен менять цвет в зависимости от значения свойства, которое является ссылкой на свойство одного из моих устройств. Работает в Chrome/FF, но в IE стиль вообще не применяется (прямоугольник черный и не меняется в зависимости от состояния реквизита). Есть ли что-то еще/другое, что я должен сделать?


person Gaetan L.    schedule 21.07.2016    source источник


Ответы (2)


Кажется, это проблема IE - он не обрабатывает теги <style>, добавленные динамически. Вопрос обсуждается, например. здесь в целом и здесь в контексте SVG. Файлы SVG в виджете SCADA вставляются динамически, поэтому они затрагиваются. Вы можете убедиться, что если вы выполните следующий код JavaScript (взятый из второй ссылки) в консоли IE11 с открытой панелью инструментов, цвета появятся на SVG.

_.each(document.querySelectorAll('style'), function (s) {
  s.textContent += '';
});

На данный момент я не вижу хорошего обходного пути. Временно вы можете назначить свойство fill напрямую с ng-style для каждого элемента, но это явно дублирует код. Я думаю, вы можете подать заявку в Cumulocity, чтобы улучшить виджет SCADA, чтобы он запускал оценку <style> тегов внутри вставленного файла SVG.

person Paweł Rynarzewski    schedule 27.07.2016

Я проверил наши собственные виджеты SCADA здесь, в Cumulocity, работают ли они нормально. Они работают над IE11. Поэтому я не могу подтвердить, что существует общая проблема виджета SCADA с IE11.

person Michael Welsing    schedule 21.07.2016
comment
пожалуйста, не решайте вопрос в личных сообщениях, цель QA - помочь всем, кто посещает этот сайт - отредактируйте вопросы / ответы относительно или используйте комментарии, если необходимы разъяснения или дополнительная информация. - person Florian Koch; 21.07.2016
comment
Я изменился, чтобы ответить. Сейчас я просто отвечаю на часть, касающуюся общей проблемы с виджетами SCADA в IE11. Также я удалил часть с моим предложением. Надеюсь, отредактированный ответ лучше соответствует руководству. - person Michael Welsing; 21.07.2016
comment
Спасибо за ваш ответ, Михаил, я последовал за моим вопросом, чтобы поддержать. Флориан Я вернусь сюда, чтобы опубликовать решение, как только мы его найдем. - person Gaetan L.; 26.07.2016