gpt4 book ai didi

svg - 作为 HTML 对象嵌入的 SVG 文档是否有有效的 typescript 类型?

转载 作者:搜寻专家 更新时间:2023-10-30 21:15:59 25 4
gpt4 key购买 nike

我在 HTML 中嵌入一个 SVG 对象,如下所示:

<object id='mapObject' type="image/svg+xml" data="assets/maps/drawing.svg">
</object>

然后,我想从我的 typescript 类(来自 Ionic 2,但应该无关紧要)中获取它:

let map = document.getElementById("mapObject");
let svgDoc = map.contentDocument; // Get the inner SVG DOM

这适用于浏览器,但 typescript 会提示:

typescript Property 'contentDocument' does not exist on type 'HTMLElement'

更糟糕的是,它在设备中不起作用,因为编译器拒绝为其生成代码。

我的临时破解/解决方案如下所示:

let svgDoc = (<HTMLIFrameElement>map).contentDocument;  // Get the inner SVG DOM

这在设备中有效,因为 HTMLIFrameElement 具有 contentDocument 属性,但在我看来, typescript 应该为此具有特定类型。但是我一直找不到它。

有人吗?

最佳答案

您可以将其强制转换/断言为 HTMLObjectElement其中有 contentDocument property :

let map = document.getElementById("mapObject") as HTMLObjectElement;
let svgDoc = map.contentDocument; // should be fine

关于svg - 作为 HTML 对象嵌入的 SVG 文档是否有有效的 typescript 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40019627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com