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 に答える