以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- 紧急求助:在JSP里调用SVG的脚本 (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=19213) |
-- 作者:犬神狼 -- 发布时间:6/4/2005 9:51:00 AM -- 紧急求助:在JSP里调用SVG的脚本 我在JSP里嵌入了SVG地图,试图通过把JSP读数据库后返回的数据显示在SVG图中,但是在调用相应的SVG脚本函数是发生了奇怪的问题: Result.jsp <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> function f1(str) <BODY background="images/bg_main.gif" leftmargin="15" topmargin="0" marginwidth="0" marginheight="0"> <% int len=10; <%@ page contentType="text/html;charset=GB2312" Connection con=null; <input id="zoomIn" type="button" value="zoomIn" onclick="f1(id)" > <%for(int k=0;k<len;k++) mapScript.svg <svg width="900" height="650" viewBox="(0,0,900,650)" onload="init(evt)"> function svgSetcilcle(s1,s2) |
-- 作者:caoxy -- 发布时间:6/4/2005 5:25:00 PM -- 利用SVG的DOM接口和javascript就可以的。 |
-- 作者:犬神狼 -- 发布时间:6/4/2005 6:29:00 PM -- 可是我的代码在调用SVG脚本的时候会出错啊。 <%for(int k=0;k<len;k++) { if(num[k]!=0){%> <script language="javascript"> var s1="<%=univ[k]%>"; var s2=<%=num[k]%>; window.setCir(s1,s2); //这句用来调SVG脚本的时候就会报错,到底为什么啊? </script> <%}}%> |
-- 作者:sunlice -- 发布时间:6/8/2005 5:16:00 PM -- 错误是什么?贴上来看看。 你不用把 parent.setStr=svgSetstr; parent.setCir=svgSetcilcle; 放在init中 直接写出来就行了。 |
-- 作者:犬神狼 -- 发布时间:6/9/2005 9:34:00 AM -- 错误是不支持此属性或方法。 我在SVG的初始时就令 parent.setStr=svgSetstr; parent.setCir=svgSetcilcle; 是为了把HTML的setStr函数与SVG的svgSetstr函数关联起来,这样才可以实现HTML对SVG脚本的调用。 不然HTML要怎么调用SVG本身的脚本函数呢? |
-- 作者:sunlice -- 发布时间:6/9/2005 3:53:00 PM -- 楼主可能没有理解我的意思,我的意思是不把 parent.setStr=svgSetstr; parent.setCir=svgSetcilcle; 放在你的初始化函数里面。 因为涉及到变量的作用域和初始化时间的问题。 所以需要把 parent.setStr=svgSetstr; parent.setCir=svgSetcilcle; 作为全局的变量声明。 就是 var a=1; var choice=-1; parent.setStr=svgSetstr; parent.setCir=svgSetcilcle; function init(event) { //target = event.getTarget(); //svgDocument = target.getOwnerDocument(); }
|
-- 作者:犬神狼 -- 发布时间:6/9/2005 8:04:00 PM -- 这样啊,谢谢了,我试试先 |
-- 作者:wulemale -- 发布时间:6/14/2005 9:09:00 PM -- 你这个SVG没有id居然也能调用? |
-- 作者:犬神狼 -- 发布时间:6/14/2005 10:12:00 PM -- 恩,因为并不是直接通过JSP的脚本来访问SVG的元素,所以在JSP中不需要通过SVG的ID来获得SVGDocument。 |
-- 作者:wulemale -- 发布时间:6/15/2005 8:46:00 AM -- window.setCir(s1,s2);--调用的是哪一个方法? 你调试通过了吗,源代码帖出来吧,谢谢! |
-- 作者:犬神狼 -- 发布时间:6/15/2005 10:42:00 AM -- 已经调试通过了。 window.setCir(s1,s2)调用的是svgSetcilcle(s1,s2),就是用HTML中的脚本调用了SVG的脚本,目的是把s1,s2两个参数传递给SVG。 直接在SVG的init中建立HTML与SVG的脚本函数关联就可以: function init(event) { target = event.getTarget(); svgDocument = target.getOwnerDocument(); parent.setStr=svgSetstr; //HTML的setSt关联为SVG的svgSetstr函数 parent.setCir=svgSetcilcle; }
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
93.750ms |