我在 html 文件中嵌入了一个 svg,如下所示:
<embed src="mysvg.svg" type="image/svg+xml" />
在 svg 文件中有一个 id 为“lot1a”的矩形,有什么方法可以获取 lot1a 的坐标并将其保存在变量中并将其用作另一个 svg 文件的坐标。我的主要问题是,正如 Phrogz 所说,宿主 HTML(或 SVG)无法访问嵌入文件的 DOM。那我能做什么?
我在 html 文件中嵌入了一个 svg,如下所示:
<embed src="mysvg.svg" type="image/svg+xml" />
在 svg 文件中有一个 id 为“lot1a”的矩形,有什么方法可以获取 lot1a 的坐标并将其保存在变量中并将其用作另一个 svg 文件的坐标。我的主要问题是,正如 Phrogz 所说,宿主 HTML(或 SVG)无法访问嵌入文件的 DOM。那我能做什么?
这应该有效(至少在 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'));
}