从javascript调用对象标记上的svg文件中的函数

时间:2013-02-01 16:06:56

标签: javascript svg

在我的HTML页面中,我得到了:

<script language="JavaScript">
  function mostrar(blo) {
   var str = "";
   ...
   window.document.tbl27svg.pinta(str);
}

在同一个html页面的某个地方,我有:

<object id="tbl27svg" data="../../imagenes/svg/tbl27.svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1100px" height="1000px" type="image/svg+xml"/>

在文件tbl27.svg中我需要调用一个函数:          

parent.pinta=pinta

function inicia(event){
    SVGDocument = event.target.ownerDocument;                                  
}       


    function pinta(strSVG){
    var nuevoNodo=parseXML(strSVG, document);
    if(document.getElementById('grafico1').childNodes.length>0){
        if(!document.getElementById('grafico2').childNodes.length>0)
            SVGDocument.getElementById("grafico2").appendChild(nuevoNodo);
    }else{
        SVGDocument.getElementById("grafico1").appendChild(nuevoNodo);
    }
}

所以,我已经尝试了几种方法来调用tbl27.svg文件中的pinta()函数。但总是我得到一个java脚本错误:     “对象不支持此属性或方法”

1 个答案:

答案 0 :(得分:0)

请务必在pinta()之前放置window.document.tbl27svg.pinta(str);函数声明:

<script>
  function pinta(){
    ...
  }

  function mostrar(blo) {
    var str = "";
    ...
    window.document.tbl27svg.pinta(str);
  }
</script>