dart - 如何访问Dart中的embed元素的contentDocument?

标签 dart dart-html

我使用embed元素将SVG加载到HTML文件中。但是现在我想在此SVG中更改渐变的颜色。在JavaScript中,我可以访问contentDocument来查询我要寻找的渐变。
看来embedElement缺少contentDocument,所以我该如何在Dart中做到这一点?

这是一个示例,该示例如何在JavaScript中完成:Accessing SVG content in JS

SVG是这样嵌入的:

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

卡斯滕

最佳答案

我找到了一种避免该问题的解决方法。您可以像这样简单地使用HttpRequest加载SVG文件:

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

然后像这样将String作为SvgElement插入DOM中:

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

然后,您可以像普通HTML元素一样查询SVG:

svg.query("#lowVal").attributes["stop-color"]=lowOn;

关于dart - 如何访问Dart中的embed元素的contentDocument?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434324/

相关文章:

dart - 使用 Dart 动态创建用于下载的文本文件

dart - Flutter 中的可滚动 ListView 与 Dart

firebase - 错误:在此Director小部件上方找不到正确的Provider <User>

android - 如何从 firebase 下载 pdf 并从我的应用程序目录访问它?

dart - 将DartAngular与dart:html一起使用

dart - 如何在时间限制后超时 future 的计算?

dart - Flutter Stepper - 显示所有内容

flutter - 更新通知程序值后未调用 ValueListenableBuilder 构建器方法

dart - 字符串比较不适用于从网络抓取中收到的文本

flutter - 使用Dart将String转换为List/Map