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

作为HTML对象嵌入的SVG文档是否有有效的typescript类型?,svg,typescript,Svg,Typescript,我将在HTML中嵌入一个SVG对象,如下所示: let svgDoc = (<HTMLIFrameElement>map).contentDocument; // Get the inner SVG DOM 然后,我想从我的typescript类(来自Ionic 2,但这应该是无关紧要的): 这适用于浏览器,但typescript对此表示不满: 类型“HtmleElement”上不存在typescript属性“contentDocument” 更糟糕的是,它在设备中不起作用,

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

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

然后,我想从我的typescript类(来自Ionic 2,但这应该是无关紧要的):

这适用于浏览器,但typescript对此表示不满:

类型“HtmleElement”上不存在typescript属性“contentDocument”

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

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

let svgDoc = (<HTMLIFrameElement>map).contentDocument;  // Get the inner SVG DOM
让svgDoc=(map).contentDocument;//获取内部svgdom
这在设备中起作用,因为HTMLIFrameElement具有contentDocument属性,但在我看来,typescript应该对此具有特定的类型。但是我一直找不到它

任何人?

您可以对其进行强制转换/断言,其中包含:


哇,太快了。在SVGElement家族中搜索时,我错过了一个明显的元素HTMLObjectElement。首先也要感谢你对避免演员阵容的帮助。这样更优雅:-)
let map = document.getElementById("mapObject") as HTMLObjectElement;
let svgDoc = map.contentDocument; // should be fine