我在一个html文件中嵌入了一个svg,如下所示:
<embed src="mysvg.svg" type="image/svg+xml" />
在svg文件中的是一个id为“lot1a”的矩形,有什么方法可以获得lot1a的坐标并将其保存在变量中并将其用作另一个svg文件的坐标。 我的主要问题是,正如Phrogz所说,主机HTML(或SVG)无法访问嵌入文件的DOM。那我该怎么办?
答案 0 :(得分:4)
This should work(至少在Firefox和Opera中):
window.onload = function () {
var svgel = document.getElementById('myembed');
var svg;
if (typeof svgel.getSVGDocument !== 'undefined') {
svg = svgel.getSVGDocument();
} else {
svg = svgel.contentDocument;
}
var rect = svg.getElementById('lot1a');
window.alert('x:' + rect.getAttribute('x') + ' y:' + rect.getAttribute('y'));
}
Chrome has a bug,但您可以try these workarounds。