Chrome getSVGDocument () не работает / как получить документ SVG в HTML-файл в Chrome? - PullRequest
2 голосов
/ 19 апреля 2011

Ниже приведены коды.

Или попробуйте это (временно): http://ihome.ust.hk/~cs_lyfac/svgQuestion/a.html

Когда вы нажмете Enter, это нормально, и объект svgDocument будет предупрежден.Но если вы обновите его, он не определен.Зачем?Более того, он всегда неопределен в локальном режиме.

<html>
    <head>
        <title>Animating SVG</title>
        <script type="text/javascript" src="gear.js"></script>
    </head>
    <body bgcolor="#CCAAFF" onload="RotateSVG()">

        <object id="gear" data="gear.svg" type="image/svg+xml"
                width="500" height="500"
                style="position: absolute; top: -250px; left: -250px;">
        </object>

   </body>
</html>

и

function RotateSVG()
{

    var svgTag = document.getElementById("gear");
    var svgDoc = null;

    svgDoc = svgTag.getSVGDocument();
    alert(svgDoc);

}

и

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     version="1.1"
     baseProfile="full">
<!-- http://www.mozilla.org/projects/svg/ -->
  <g id="gearG" fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
    <circle cx="6cm" cy="2cm" r="100" fill="red"
                    transform="translate(0,50)" />
    <circle cx="6cm" cy="2cm" r="100" fill="blue"
                    transform="translate(70,150)" />
    <circle cx="6cm" cy="2cm" r="100" fill="green"
                    transform="translate(-70,150)" />
  </g>
</svg>

1 Ответ

1 голос
/ 20 апреля 2011

Я думаю, что я понял.Я должен поместить «onload» в тег объекта svg, а не в тег body.Я предполагаю, что в этом случае svgDoc может быть определен при загрузке объекта svg.

 <object onload="RotateSVG()" id="gear"...

Попробуйте это (временно): http://ihome.ust.hk/~cs_lyfac/svgQuestion2/a.htmlТем не менее, firefox (4) отлично работает в обоих случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...