2013-08-25 2 views
0

Я загружаю SVG в HTML-файл с элементом embed. Но теперь я хочу изменить цвет градиента в этом SVG. В JavaScript есть contentDocument, к которому я могу получить доступ к запросу для градиента, который я ищу. Похоже, что contentDocument отсутствует для embedElement, поэтому как мне это сделать в Dart?Как получить доступ к contentDocument элемента embed в Dart?

Вот пример того, как это может быть сделано в JavaScript: Accessing SVG content in JS

SVG встраивается как это:

<embed class="emb" src="images/svglogo.svg" width="100" height="100" type="image/svg+xml" /> 

Карстен

+0

Можете ли вы вставить код JavaScript, который работает? –

+0

Также вставьте код HTML, содержащий простой SVG. –

+0

Я обновил вопрос для разъяснения того, что я хочу сделать. –

ответ

2

Я нашел работу вокруг, что позволяет избежать проблемы , Вы можете просто загрузить файл SVG с HttpRequest как это:

HttpRequest.getString("../imgs/redLed.svg").then((r)=>svgLED=r); 

затем вставьте строку как SvgElement в DOM, как это:

SvgElement svg=new SvgElement.svg(svgLED); 
bla.nodes.add(svg); 

Вы можете запросить в SVG, как обычный HTML Element :

svg.query("#lowVal").attributes["stop-color"]=lowOn; 
Смежные вопросы