以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  如何在html的js代码中调用嵌入的svg文件中js片段函数?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=38127)


--  作者:semonxuan
--  发布时间:9/20/2006 5:01:00 PM

--  如何在html的js代码中调用嵌入的svg文件中js片段函数?
在html中用embed嵌入了一个svg文件,在html和svg中都写了一些js代码,想问一下怎么在html中调用写在svg文件中js函数。
--  作者:1976zj
--  发布时间:9/21/2006 10:01:00 AM

--  
顶一下,我正好也遇到这个问题了.
--  作者:semonxuan
--  发布时间:9/22/2006 4:02:00 PM

--  
这样调用有什么问题?
文件rec.svg
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="400" height="400" viewBox="0 0 400 400" onload="init(evt)">
<script language="javascript">
<![CDATA[
   var SVGDocument=null;
   function init(evt)
   {
    SVGDocument=evt.getTarget().getOwnerDocument();
   }
   function changeColor(color)
   {
    SVGDocument.getElementById("rect").getStyle().setProperty("fill",color);
   }
//  ]]>
</script>
<rect id="rect" x="100" y="100" width="200" height="200" style="fill:red"/>
</svg>


文件rectCon.html

<html>
<body>
<embed type="image/svg+xml" src="rec.svg" width="400" height="400">
<br>
<input type="button" value="green" onClick="window.changeColor(this.value)">
</body>
</html>
就是使svg中矩形颜色变成button的颜色。


--  作者:fuyu131
--  发布时间:9/25/2006 5:05:00 PM

--  
晕,怎么上面的程序,会报js错误啊?
--  作者:vachin
--  发布时间:9/26/2006 9:44:00 AM

--  
这是因为html document的父窗口和svg document的父窗口不一致.

你可以进行如下改动

svg文件不变

html文件:

<html>
<body>
<embed name="svg" type="image/svg+xml" src="rec.svg" width="400" height="400">
<br>
<input type="button" value="green" onClick="svg.window.changeColor(this.value)">
</body>
</html>


--  作者:aone_
--  发布时间:9/27/2006 11:25:00 AM

--  
楼上的方法也不行,我试过了,报错说:svg.window为空或不是对象。
这个问题我也想了半天了,哪位知道希望教点一下。。谢谢了,
QQ:4384339

--  作者:vachin
--  发布时间:9/27/2006 11:53:00 AM

--  
你在<embed>节点加入 name="svg"了吗??
--  作者:aone_
--  发布时间:9/27/2006 1:56:00 PM

--  
好了,谢谢vachin~~~
--  作者:collar_lu
--  发布时间:10/15/2006 1:57:00 PM

--  
very good

--  作者:yyg291906351
--  发布时间:11/10/2011 5:10:00 PM

--  
很好
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
82.031ms