0

我在 html 文件中嵌入了一个 svg,如下所示:

    <embed src="mysvg.svg" type="image/svg+xml" />

在 svg 文件中有一个 id 为“lot1a”的矩形,有什么方法可以获取 lot1a 的坐标并将其保存在变量中并将其用作另一个 svg 文件的坐标。我的主要问题是,正如 Phrogz 所说,宿主 HTML(或 SVG)无法访问嵌入文件的 DOM。那我能做什么?

4

1 回答 1

4

这应该有效(至少在 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有一个错误,但您可以尝试这些变通方法

于 2011-12-03T18:13:21.533 回答