获取嵌入在html文件中的svg坐标的最佳方法是什么?

时间:2011-11-30 03:49:35

标签: javascript html svg jquery-svg

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

    <embed src="mysvg.svg" type="image/svg+xml" />
在svg文件中的

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

1 个答案:

答案 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