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

What is be the best way to get coordinates of an svg embedded on an html file?

本文关键字:最佳 方法 是什么 坐标 svg 文件 html      更新时间:2023-09-26

我在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'));
}

Chrome浏览器有一个bug,但是你可以试试这些方法。